Hex*_*0bx 1 security silverlight unc visual-studio-2010
我刚学习Blend/Silverlight/VS2010/.net /等.我有一个驻留在网络驱动器上的简单项目.当我告诉VS2010重建项目时,我收到以下错误消息:
------ Rebuild All started: Project: MySilverlightApplication, Configuration: Debug Any CPU ------
MySilverlightApplication -> H:\PRJ\VisualStudio\ExpressionBlend\Unleashed\MySilverLightApplication\MySilverlightApplication\Bin\Debug\MySilverlightApplication.dll
C:\Program Files\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.Common.targets(214,9):
error : Could not load the assembly
file:///H:\PRJ\VisualStudio\ExpressionBlend\Unleashed\MySilverLightApplication\MySilverlightApplication\obj\Debug\MySilverlightApplication.dll.
This assembly may have been downloaded from the Web. If an assembly has been downloaded from the Web,
it is flagged by Windows as being a Web file, even if it resides on the local computer.
This may prevent it from being used in your project. You can change this designation by changing the file properties.
Only unblock assemblies that you trust. See http://go.microsoft.com/fwlink/?LinkId=179545 for more information.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
该项目未从Web下载(我使用Blend创建它.)经过一些搜索,我猜测问题可能是由.net安全设置引起的.我发出了以下命令:
C:\Program Files\Microsoft Visual Studio 10.0\VC>caspol -m -ag 1.3 -url "file://\\p4dc\h$\*" FullTrust
希望能解决问题.p4dc是服务器计算机的名称,h $是服务器上h:驱动器的管理共享,后者又映射到本地计算机上的驱动器号"H"(\\ p4dc\h $映射到H在本地机器).
那并没有解决问题.我不知道我的caspol命令是否正确(我不打算动态学习caspol),这似乎是一个合理的尝试.当我在本地C盘上制作整个项目的副本时,问题就消失了,但是,这个"解决方案"是不可取的.
此时,我真的不知道在没有将项目移动到本地驱动器的情况下还有什么方法可以解决问题.
任何有助于解决方案的帮助都非常感谢.
约翰.
VS2010显示的错误消息将导致任何人相信问题与信任和安全性有关,但是,不允许完全信任网络驱动器的数量将解决问题.
导致解决方案的原因是首先将项目移植到VS2008,以确定它是否会遇到同样的问题.VS2008非常高兴能在没有投诉的情况下运行该项目.
然后我将VS2008项目(正在运行)转换为VS2010.VS2010拒绝构建项目,但这次错误消息不同,指的是"远程程序集"和MSDN上的链接,这导致了解决方案.
真正的问题是VS2010认为网络驱动器上的程序集是一个"远程程序集"(就像从一个网站上加载程序集一样.)Caspol无法解决这个问题(它似乎应该有,但是,这可能是我的错,我不太熟悉使用Caspol).
要结束这个长篇故事,错误消息中提供的链接是:
http://msdn.microsoft.com/en-us/library/dd409252(VS.100).aspx
按照该链接中的说明编辑"machine.config"后,我改为<runtime/>:
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
Run Code Online (Sandbox Code Playgroud)
该项目成功建成并顺利运行.
感谢Alison和CodeNaked的努力,
约翰.
PS:如果VS2010最初显示"更好"的错误消息,那将是相当不错的.相反,我不得不将VS2010非工作项目移植到它工作的VS2008,并且那个VS2010,我得到了更好的错误消息,导致了解决方案.