有谁遇到过:“无法加载文件或程序集'aspnet_compiler...无法授予执行权限”?

问题描述 投票:0回答:3

我在 .NET 3.5 中遇到一个奇怪的构建问题。编译器在尝试构建 Web 部署项目时崩溃。

C:\ Program Files \ MSBuild \ Microsoft \ WebDeployment 9.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' ---> System.Security.XmlSyntaxException:语法无效。

我可以构建得很好,直到我做了一个小的代码更改。我已恢复更改,但仍然遇到此错误。其他团队成员可以构建完全相同的源。

我尝试过的事情

  • 重新安装VS
  • 重新安装 Web 部署项目插件
  • 重新启动
  • 与 nant 一起建造
  • 在 VS 中构建
  • 使用 aspnet_compiler.exe 从命令行构建

以前有人遇到过这种类型的错误吗?我的下一步是重新格式化,除非我能找到其他东西来尝试。

asp.net .net nant
3个回答
1
投票

尝试清除 [Windows 文件夹]\Microsoft .NET\Framework .0xxx\Temporary ASP.NET Files*.* 文件夹 - 有时可能会被 GB 的临时文件弄乱。另外,请检查您的网站是否使用模拟或备用安全帐户。如果是,请确保向模拟帐户授予上述文件夹的写入和执行权限。


0
投票

在 nant 中运行完整构建后,我终于能够构建了:

nant build

我想我以前尝试过这个。不管怎样,它现在可以工作了——不用感谢错误消息。我想我的 MyProject 的 nant 配置缺少依赖项或其他东西。


0
投票

我因另一个原因遇到了同样的问题。 我在我的 web.config 文件中模拟另一个用户,这是不正确的访问某些目录,删除此配置已修复。

© www.soinside.com 2019 - 2024. All rights reserved.