启用NetFx40_LegacySecurityPolicy时,VS2010中的XSL转换失败

时间:2012-03-26 01:47:37

标签: visual-studio visual-studio-2010 xslt

我最近将VS2008项目升级到了VS2010。这是一个相当大的遗留项目,通过许多开发人员的手,但持续发展。

它使用Devexpress 9.1并且在升级之后,所有Forms \ Controls都拒绝在设计时加载有关“明确地使用CAS策略,这已经过时”的消息 - 这是通过将以下内容添加到devenv.exe来解决的.config文件:

<NetFx40_LegacySecurityPolicy enabled="true"/>

不幸的是,这似乎产生了意想不到的效果,因为它破坏了项目中的XSL Transforms。该项目还使用了一个自定义ORM系统,显然是在Entity-Framework开始流行之前开发的(为什么他们没有使用nHibernate我不确定,但原始开发人员显然认为他们自己可以做得更好)所以它包括定义Objects的巨大XML文件和将其转换为cs文件的大型XSLT文件。

但是在添加上面运行XSL Tranform的NetFx40_LegacySecurityPolicy开关之后(通过选择XSLT文件并使用“CTRL-ALT + F5”)会导致以下错误:

The security state of an AppDomain was modified by an AppDomainManager configured with the NoSecurityChanges flag.

删除NetFx40_LegacySecurityPolicy标志会修复此问题但会再次中断所有Forms \ Controls。

任何人都知道如何在启用NetFx40_LegacySecurityPolicy的情况下在Visual Studio 2010中使用XSL转换?

编辑:

更糟糕的是,启用此功能似乎会破坏Visual Studio中的所有MVC工具,并显示相同的错误消息。例如我再也无法添加MVC视图了。哎哟。

0 个答案:

没有答案