问题解锁Windows 7 Home Premium中的程序集

时间:2010-11-05 04:56:21

标签: visual-studio-2010 windows-7 windows-phone-7

尝试加载基本项目模板时出现以下错误:

Error 12 Could not load the assembly file://\\psf\home\documents\visual studio 2010\Projects\WindowsPhonePivotApplication1\WindowsPhonePivotApplication1\obj\Debug\WindowsPhonePivotApplication1.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. WindowsPhonePivotApplication1

当我尝试修改DLL以取消阻止程序集时,我没有“安全”选项卡。有什么建议吗?

alt text

10 个答案:

答案 0 :(得分:9)

您是否尝试在本地复制此程序集?目前它似乎是从网络共享加载。如果您想以这种方式工作,则需要信任该网络位置。

驱动器:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ caspol.exe -m -ag 1 -url“file://// \ computername \ sharename *”FullTrust -exclusive on

检查此KB以获取详细信息... http://support.microsoft.com/kb/320268/

答案 1 :(得分:4)

我遇到了同样的问题 - 尝试在Mac上的Parallels Desktop 8虚拟机中编译Silverlight应用程序 - 其中SL输出目录位于模拟驱动器上(在Windows中显示为网络驱动器)。

非常简单的修复。您可以打开C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE中的devenv.exe.config并在<Runtime>节点内添加此行:

<loadFromRemoteSources enabled="true"/>

e.g。

<?xml version ="1.0"?>
<configuration>
    <configSections>
        <section name="msbuildToolsets" type="Microsoft.Build.BuildEngine.ToolsetConfigurationSection, Microsoft.Build.Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </configSections>
    ...
    <runtime>
        <loadFromRemoteSources enabled="true"/>
        ...

要编辑devenv.exe.config文件,您还需要以管理员身份打开NotePad。完成上述操作后,我可以在Parallels虚拟机中编译我的SL应用程序,但上述内容也适用于托管在网络驱动器上的Silverlight应用程序。

答案 2 :(得分:2)

我碰到了这个。这些是我采取的步骤:

  1. 将文件WP7PiChartsFromDBSOUP.dll下载到我的下载文件夹(本地所有内容)。
  2. 将此文件复制到引用它的c:/Program Files/并尝试构建。
  3. 收到此错误消息。
  4. 删除了引用,然后按照步骤取消阻止。
  5. 引用并尝试构建:仍然是相同的错误。
  6. 回到c:/Program files并注意到该文件仍然被阻止。不知怎的,我阻止的尝试没有采取。所以我试图解锁,关闭属性对话框,然后重新打开。不知怎的,我试图取消阻止似乎没有起作用。
  7. 转到下载文件夹并取消阻止下载到此位置的文件,尝试取消阻止,它似乎正常工作。所以我觉得我已经走出了困境。我将此文件复制到c:/Program Files中的文件并在VS2010中引用它,关闭并重新打开VS2010。
  8. 相同的错误消息。我重新启动机器并再次尝试。相同的错误消息。而且我知道这听起来很疯狂,但我将这个长名称的dll重命名为PieChart.dll
  9. 它终于奏效了。

    因此,要么名称有问题,要么更改名称会导致阻止状态发生变化。

答案 3 :(得分:2)

我尝试在并行上构建应用程序时遇到了同样的问题。

我只是将整个项目复制到c:/下的文件夹中,然后工作

似乎并行共享vm上运行的操作系统和mac用户主文件夹之间的某些文件夹(即桌面,文档)。因为该窗口将这些文件夹视为网络共享文件夹,并禁止您访问它们。

答案 4 :(得分:1)

它位于资源管理器的文件属性的“常规”选项卡上。无论是通过有问题的DLL,还是在解压缩之前你都可以在zip文件中进行下载,右下方会有一个解锁按钮。

确保它来自可靠来源。

答案 5 :(得分:1)

如果你仍然没有得到答案,我就找到了解决方案。您正在将应用程序保存到网络硬盘中。因此,在创建应用程序时,请将位置更改为本地磁盘,例如

C:/Projects

然后你就可以运行了。

答案 6 :(得分:1)

我已尝试过许多解决方案,也可以将文件复制到FAT32文件格式的外部USB驱动器以及其他一些想法。但最后我发现了 caliban 帖子:Topic about this problem。他链接到一个名为Streams的程序,它帮助解决了这个问题:)

<强>卡利班

  

在命令行中运行此行

     

streams -s -d directory

download Streams exe

答案 7 :(得分:1)

  1. 在项目中添加一个名为ServiceReferences.ClientConfig的文本文件,其中包含以下内容:

    <configuration>
        <runtime>
            <loadFromRemoteSources enabled="true"/>
        </runtime>
    </configuration>
    
  2. 重建项目。

答案 8 :(得分:1)

我在使用mac加载Windows 7的VMWare上遇到了同样的问题,如果你看到它像网络路径一样启动的路径,这就是VS发布安全性的原因。

获取整个文件夹项目并将其放在以C://程序文件...开头的物理路径中,然后打开并编译,它将起作用。

答案 9 :(得分:1)

右键单击dll并选择属性。您应该看到一个用于取消阻止程序集的按钮。