Visual Studio 2010生成错误 - 来自HRESULT的异常:0x800300FA(STG_E_ABNORMALAPIEXIT))

Bar*_*aye 12 c# exception build visual-studio-2010

最近我们将开发环境从VS2008迁移到了VS2010(Ultimate).

对于包含6个项目的一个解决方案(现在所有C#,.NET Framework 3.5和ASP.NET 2.0),VS自动升级它没有任何问题.

解决方案项目是:

  1. ASP.NET网站
  2. 针对上述站点的VS2010 Web部署项目
  3. Web服务应用程序
  4. 针对上述WSA的VS2010 Web部署项目
  5. 一个类库.
  6. 另一个类库.

但是,当我们构建时,我们有1个错误:

Could not load file or assembly 'ClassLibrary1BLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An API call exited abnormally. (Exception from HRESULT: 0x800300FA (STG_E_ABNORMALAPIEXIT))
Run Code Online (Sandbox Code Playgroud)

经过研究,我终于在ASP.NET网站配置中找到了一个条目:

如果我使用此行构建,则会出现问题:

<identity impersonate="true" userName="DOMAIN\user" password="password"/>
Run Code Online (Sandbox Code Playgroud)

但是,如果我注释掉并使用以下行构建(没有提供的凭据),解决方案构建正常,然后将web.config修改回上面(使用凭据)网站运行良好 - 凭据只会导致问题构建.

<identity impersonate="true"/>
Run Code Online (Sandbox Code Playgroud)

现在,这是最奇怪的问题 - 使用提供的凭据构建Web服务应用程序 - 只有ASP.NET网站才会出现构建错误.无论项目是单独构建还是重建解决方案,这都是正确的.

任何指示我如何使用提供的凭据成功构建将非常感激.

mat*_*wen 12

检查模拟用户的权限.

在将旗帜设置为假之后<identity impersonate="false"/>,它也为我而生.但是,一旦将其设置为true,它就构建得很好,但是当我加载网站时,我得到了:

当前标识(XN-DTDEV\Fusion)没有对"C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files"的写入权限.

现在这台机器在一个域上,该用户是本地用户,应​​具有管理权限.当我回来时,它没有.看起来每个重启都会重新设置本地管理员的策略.

  • 我将模拟域用户添加到我的IIS_IUSRS组,该组具有对temp文件夹的写入权限.然后一切都很好. (2认同)