簡體   English   中英

ASP.Net Core Angular項目中的程序集異常

[英]Assembly Exception in ASP.Net Core Angular project

我有一個ASP.NET Core Angular Web應用程序。 我使用Visual Studio 2017角模板創建了這個項目。 我制作了一個具有最新依賴關系的非常基本的應用程序:

  • Microsoft.AspNetCore.All(2.0.7)作為NuGET
  • Microsoft.NETCore.App(2.0.0)作為SDK

我們可以構建應用程序,但是在調試時,會遇到如下異常:

System.IO.FileLoadException HResult = 0x80131040消息=無法加載文件或程序集“ System.ComponentModel.Primitives,版本= 4.2.0.0,區域性=中性,PublicKeyToken = b03f5f7f11d50a3a”。 找到的程序集的清單定義與程序集引用不匹配。 (來自HRESULT的異常:0x80131040)
源= Microsoft.Extensions.FileProviders.Physical

這是StackTrace:

StackTrace: Microsoft.Extensions.FileProviders.PhysicalFileProvider.CreateFileWatcher(String root) at Microsoft.AspNetCore.Hosting.Internal.HostingEnvironmentExtensions.Initialize(IHostingEnvironment hostingEnvironment, String applicationName, String contentRootPath, WebHostOptions options) at Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices(AggregateException& hostingStartupErrors) at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build() at WebApp.Program.BuildWebHost(String[] args) in D:\\Source\\WebApp\\Program.cs:line 21 at WebApp.Program.Main(String[] args) in D:\\Source\\WebApp\\Program.cs:line 17

我們嘗試過使用舊版本的ASP.NET Core並返回。 問題解決了,但是下次我們打開項目時,也會發生同樣的異常。 我們無法將Microsoft.NETCore.App(2.0.0)的版本更改為較新版本,因為它已blocked by the project

請注意,我們已將NugetPackages的位置更改為位於特定文件夾(D:\\ Source \\ Library)中(出於源代碼控制的目的)。

通過在“ frameworks”下的project.json中添加以下內容,來禁用特定於執行的運行時程序集:

"System.ComponentModel.Primitives": {
  "version": "4.1.0", // or whatever version you have
  "exclude": "runtime"
},

這是一種解決方法。 發生這種情況是因為尚未針對每個平台(例如Ubuntu)發布特定於平台的System.ComponentModel.Primitives版本。 更多細節在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM