无法使用IIS Express在VS2017中加载文件或程序集

时间:2017-07-07 22:47:03

标签: visual-studio iis-express

我们在公司有一个为5/6开发人员运行的ASP.NET项目。所有Visual Studio 2017和IIS Express上的调试,没有疯狂的设置或任何使其运行的东西。

1位同事不能让它工作,他总是得到以下例外:

enter image description here

几个月前我们遇到了这个问题,然后出于挫败感重新安装了PC,问题就消失了。他没有发展几周,今天又出现了问题。

我搜索了很长时间,但这是一个普通的错误我无法真正解决这个问题。

当我运行Fusion日志查看器时,我看到以下结果:

https://pastebin.com/aCVZn3EB

The operation failed.
Bind result: hr = 0x80131018. No description available.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable  C:\Program Files\IIS Express\iisexpress.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: DisplayName = System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 (Fully-specified)
LOG: Appbase = file:///C:/Users/User/Projects/project/project.UserSite/
LOG: Initial PrivatePath = C:\Users\User\Projects\project\project.UserSite\bin
LOG: Dynamic Base = C:\Users\User\AppData\Local\Temp\Temporary ASP.NET Files\vs\e0254dae
LOG: Cache Base = C:\Users\User\AppData\Local\Temp\Temporary ASP.NET Files\vs\e0254dae
LOG: AppName = 38c6ff11
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\User\Projects\project\project.UserSite\web.config
LOG: Using host configuration file: C:\Users\User\Documents\IISExpress\config\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Binding succeeds. Returns assembly from C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activities.dll.
LOG: Assembly is loaded in default load context.
ERR: Unrecoverable error occurred during pre-download check (hr = 0x80131018).

*** Assembly Binder Log Entry  (7/18/2017 @ 8:55:15 AM) ***

4 个答案:

答案 0 :(得分:2)

您是否尝试使用EXE加载.NET 4程序集,要求提供不同的CLR版本?这需要一个强制使用CLR 4的app.exe.config文件。

另外请检查他是否安装了相同版本的.NET。

答案 1 :(得分:1)

1-关闭Visual Studio

2-删除“C:\ WINDOWS \ Microsoft.NET \ Framework ...... \ Temporary ASP.NET”中的所有文件

3-打开VS

4-重建然后运行

答案 2 :(得分:1)

我有同样的问题,它是随机的。只需通过Nuget为该项目安装缺少的包。打开包管理器控制台并键入:

  

PM> Install-Package System.ServiceModel.Activities

继续安装包,直到没有错误:然后停止。

答案 3 :(得分:1)

在Fusion Log的帮助下,我找到了1个大小为0kb的文件:C:\ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ System.ServiceModel.Activities \ v4.0_4.0.0.0__31bf3856ad364e35 \ System。 ServiceModel.Activities.dll

我从C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ System.ServiceModel.Activities.dll恢复了文件,它又恢复了工作!