本文介绍了在XP模式下的Windows 7上生成Visual Studio 2010 Silverlight 4项目时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Windows 7的XP模式下安装了Visual Studio 2010 Beta 2。然后我创建了一个简单的Silverlight 4(测试版)项目并尝试构建它。我收到以下错误:

我认为这与XP模式将My Documents文件夹重定向到主机,将其转换为网络共享位置,并且正在触发某种CAS/安全策略有关。

有人知道如何修复它吗?

推荐答案

http://social.msdn.microsoft.com/Forums/en-US/webdevelopmentprerelease/thread/ea9b9cab-cbfd-496d-8a81-7b3dd06e8c23中还介绍了如何启用从远程源加载以及另一个选项;请设置环境变量COMPLUS_EnableLegacyCASPolicy。

编辑:(删除帖子时从上面的URL复制并粘贴)

大卫·德温特-MSFT(2009年5月20日星期三凌晨2:10)

警告:我不是安全团队的成员,但我会尝试回答这个问题...

此处发生的情况是,Silverlight的生成任务正在尝试加载一个程序集,在CLR的早期版本中,该程序集将根据其证据(例如其区域)根据CAS策略将其分类为部分信任程序集。

在CLR 4.0中,CAS策略已完全弃用,甚至在默认情况下都未启用。但是,在这种情况下,当CLR 2.0中的部分信任负载在CLR 4.0中是完全信任负载时,CLR似乎会引发异常。

异常消息所指的loadFromRemoteSources开关位于配置下的运行时元素中,如下所示:

<runtime>
  <loadFromRemoteSources enabled="true|false" />
</runtime>
这将不会启用旧的CAS策略,但将允许您(或在本例中为生成系统)使用与宿主AppDomain相同的权限加载远程程序集。在这种情况下,您似乎可以修改生成系统的配置(在这种情况下,我假设它是Visual Studio:%ProgramFiles%Microsoft Visual Studio 10.0Common7IDEdevenv.exe.config)以启用此开关。

如果您不想修改该配置,则可以将环境变量COMPLUS_EnableLegacyCASPolicy设置为1,这将启用CLR 2.0中存在的CAS策略,并允许Silverlight加载此任务。

希望这能有所帮助。大卫,博客-http://blogs.rev-net.com/ddewinter/推特-@ddewin

这篇关于在XP模式下的Windows 7上生成Visual Studio 2010 Silverlight 4项目时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 14:54