问题描述
我在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项目时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!