我在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?换句话说,一个新的解决方案文件?
答案 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>