我在.NET 3.5中遇到了一个奇怪的构建问题。编译器在尝试构建Web部署项目时崩溃。
C:\ Program Files \ MSBuild \ Microsoft \ WebDeployment \ v9.0 \ Microsoft.WebDeployment.targets(531,9):错误MSB6006:“aspnet_compiler.exe”已退出,代码为-532459699。
导致:
无法加载文件或程序集'aspnet_compiler,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。无法授予执行权限。 (HRESULT异常:0x80131418)
Microsoft.WebDeployment.targets的那一部分是这样的:
<AspNetCompiler
PhysicalPath="$(_AspNetCompilerSourceWebPath)"
TargetPath="$(TempBuildDir)"
VirtualPath="$(_AspNetCompilerVirtualPath)"
Force="$(_Force)"
Debug="$(DebugSymbols)"
Updateable="$(EnableUpdateable)"
KeyFile="$(_FullKeyFile)"
KeyContainer="$(_AspNetCompilerKeyContainer)"
DelaySign="$(DelaySign)"
AllowPartiallyTrustedCallers="$(AllowPartiallyTrustedCallers)"
FixedNames="$(_AspNetCompilerFixedNames)"
Clean="$(Clean)"
MetabasePath="$(_AspNetCompilerMetabasePath)"
/>
如果我尝试:
aspnet_compiler.exe -errorstack -v /MyProject -p C:\MyProject -f -c -d .\TempBuildDir\
我明白了:
未处理的异常:System.IO.FileLoadException:无法加载文件或程序集'aspnet_compiler,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。无法授予执行权限。 (HRESULT异常:0x80131418)
文件名:'aspnet_compiler,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'---&gt; System.Security.XmlSyntaxException:语法无效。
我可以修好,直到我做了一个小代码更改。我已经恢复了改变,但我仍然遇到这个错误。其他团队成员可以构建完全相同的源。
我尝试过的事情
之前有没有遇到过这种类型的错误?我的下一步是重新格式化,除非我能找到别的东西尝试。
答案 0 :(得分:1)
尝试清除[Windows文件夹] \ Microsoft .NET \ Framework \ 2.0xxx \ Temporary ASP.NET Files *。*文件夹 - 有时可能会使用GB的临时文件。另外,请检查您的网站是否使用了模拟或其他安全帐户。如果是,请确保将上述文件夹的写入和执行权限授予模拟帐户。
答案 1 :(得分:0)
我终于能够在运行nant的完整版本后构建:
nant build
我以为我以前试过这个。无论如何,它现在有效 - 不,谢谢错误信息。我想我的MyProject的nant配置缺少依赖或其他东西。
答案 2 :(得分:0)
我出于另一个原因遇到了同样的问题。 我冒充我web.config文件中的另一个用户,这是不正确的访问某些目录,删除此配置是固定的。