MVC Core 自包含 4.6.x System.* dll 的



>我有一个基于dotnet core 2.0构建的VS2017解决方案,其中包含一个MVC Core网站和一个netcore 2.0控制台应用程序以及许多类库。

所有项目都面向 NetCoreApp 2.0.7

当我将我的任何项目发布为 linux-x64 的自包含项目时,我在 Debian 9 上运行时出现错误,指出清单中引用了 System.ComponentModel 4.3.0,但找不到。

在查看 .deps.json 文件时,我看到它引用了 4.3.0,但发布输出文件夹中的文件是 4.6.2x 完整框架版本。

我尝试清除所有nuget缓存,但仍然是相同的问题。 我注意到其他 System.* 程序集也是 4.6.2 倍。

我在构建或发布时没有看到任何错误或警告。 在netcoreapp linux-x64的.nuget包文件夹中查找时,我发现一个没有版本的System.ComponentModel。

我还尝试发布为 win10-x64 自包含,它仍然发布 4.6.2x 程序集。

我该如何解决这个问题?

我设法通过使用dotnet CLI而不是VS2017来发布它自己工作。

后来我发现我的问题与这个问题有关:https://github.com/dotnet/core/issues/857

最新更新