具有.Net Framework项目依赖关系的.Net Core 2.0解决方案 - 无法加载文件或程序集&System; ServiceModel'

时间:2018-01-30 19:09:17

标签: asp.net-core-2.0 .net-core-2.0

我在Core 2.0中有一个VS2017解决方案,我的主要项目是Core 2.0。然后我添加了5个针对v4.0 Framework的其他项目。

问题在于 - 一旦我从旧项目中实例化API类 - 它会崩溃那些旧项目References,但有以下异常:

Could not load file or assembly 'System.ServiceModel, Version=4.0.0.0

这条线基本上是这样的:

 _myAPI = new myCompany.Product.API();

我想继续推进这个解决方案/项目,但我想我可能不得不降级到.net framework

我无法更改旧的项目引用,因为这些项目是在其他解决方案中共享的。

此时我是否需要降级到.Net Framework?换句话说,一个新的解决方案文件?

1 个答案:

答案 0 :(得分:1)

您无需更改解决方案文件,但需要更改项目文件,使其定位net461而不是netcoreapp2.0。您还需要引用单个程序集而不仅仅是Microsoft.AspNetCore.All

将目标框架更改为net461

<PropertyGroup>
  <TargetFramework>net461</TargetFramework>
</PropertyGroup>

引用各个Asp.Net Core程序集:

<ItemGroup>
  <PackageReference Include="Microsoft.AspNetCore" Version="2.0.1" />
  <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.2" />
  <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.0.2" PrivateAssets="All" />
  <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.1" />
  <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.0.1" />
</ItemGroup>