这是针对 VS2010 下的 windows 窗体项目。
这是我从 MSBuild 收到的消息:
错误 RG0000:无法加载文件或程序集“3rdPartyAssemblyUsedByProject,版本=1.1.263.0,文化=中性,PublicKeyToken=687bce93d7ce902c”或其依赖项之一。访问被拒绝。第 174 行,位置 5。[C:\xxx\src\BackOffice.csproj]
这是用于启动此操作的命令行:
c:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/msbuild.exe BackOffice.csproj /p:PlatformTarget=x86
归因于错误的 resx 文件的第 174 行:
<data name="generalImages.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
...
</value>
</data>
generalImages 是一个 ImageList 控件,其中的图像用于窗体上的按钮。
这在我的开发机器上工作正常,但在我的构建服务器上是一个问题。我的工作站是 Windows 7 64 位,构建服务器是 Windows 2008 Server 64 位。构建服务器确实安装了 windows 7.1 sdk。
如果我使用 v3.5 框架中的 msbuild,则编译成功完成。我确实收到了此警告消息,此时不会给我造成任何问题:项目文件包含 ToolsVersion="4.0",此版本的 MSBuild 不支持。将项目视为拥有 ToolsVersion="3.5"。
这样做的全部原因实际上是针对 4.0 框架并使用方法默认值之类的东西,这在针对 3.5 时不起作用。
我已经搜索并搜索了这个。我遇到了很多与 32 位/64 位问题相关的问题——图像格式是问题所在,但这不是我的问题。此错误显示“访问被拒绝”。我确实使用 fuslogvw 试图找出拒绝访问的来源 - 但我没有看到它是,但它实际上没有找到任何程序集。该程序集不在 GAC 中,而是在项目文件引用所在的项目文件的相切目录中。
这是融合日志:
*组装活页夹日志条目(8/30/2010 @ 1:44:48 PM)*
操作失败。绑定结果:hr = 0x80070002。该系统找不到指定的文件。
从以下位置加载的程序集管理器:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll 在可执行文件 C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\ResGen.exe 下运行 --- A详细的错误日志如下。
=== 预绑定状态信息 === LOG: User = domain\user LOG: DisplayName = 3rdPartyAssemblyUsedByProject, Version=1.1.263.0, Culture=neutral, PublicKeyToken=687bce93d7ce902c (Fully-specified) LOG: Appbase = file:// /C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/ LOG:Initial PrivatePath = NULL LOG:Dynamic Base = NULL LOG:Cache Base = NULL LOG:AppName = NULL 调用程序集:System.Windows.Forms,版本=2.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089。=== LOG:此绑定在默认加载上下文中开始。LOG:使用应用程序配置文件:C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\ResGen.exe.Config LOG:使用来自 C:\Windows\Microsoft.NET\Framework64\v2.0.50727 的机器配置文件\config\machine.config。日志:政策后参考:3rdPartyAssemblyUsedByProject,版本=1.1.263.0,文化=中性,PublicKeyToken=687bce93d7ce902c 日志:GAC 查找不成功。日志:尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject.DLL。日志:尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.DLL。日志:正在尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject.EXE。日志:尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.EXE。LOG:所有探测 URL 都已尝试并失败。正在尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject.DLL。日志:尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.DLL。日志:正在尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject.EXE。日志:尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.EXE。LOG:所有探测 URL 都已尝试并失败。正在尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject.DLL。日志:尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.DLL。日志:正在尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject.EXE。日志:尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.EXE。LOG:所有探测 URL 都已尝试并失败。/程序文件/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.DLL。日志:正在尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject.EXE。日志:尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.EXE。LOG:所有探测 URL 都已尝试并失败。/程序文件/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.DLL。日志:正在尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject.EXE。日志:尝试下载新的 URL 文件:///C:/Program Files/Microsoft SDKs/Windows/v7.1/Bin/3rdPartyAssemblyUsedByProject/3rdPartyAssemblyUsedByProject.EXE。LOG:所有探测 URL 都已尝试并失败。
在这一点上——我被难住了。不知道下一步该去哪里。任何建议都会受到欢迎。
科尔特