相关疑难解决方法(0)

项目“ClassLibrary1.csproj”针对“netstandard2.1”。它不能被以“.NETFramework,Version=v4.8”为目标的项目引用

我在目标中有一些类库项目netstandard2.1

当我在 target 中将其引用到我的 WPF 项目时.NET Framework v4.8,在构建时出现错误:

严重性代码描述项目文件行抑制状态错误项目“..\ClassLibrary1\ClassLibrary1.csproj”针对“netstandard2.1”。它不能被以“.NETFramework,Version=v4.8”为目标的项目引用。应用程序1

我能做什么?

更新:我读这个Q / A有关引用netcoreapp2.1和有关补充说答案有说服力netstandar2.1。但是我的图书馆已经在目标中了netstandard2.1

.net c# .net-standard .net-4.8 .net-standard-2.1

19
推荐指数
2
解决办法
1万
查看次数

如何在同一个项目中定位netcoreapp2.0和net461

我有一个项目,我想使用.net core 2.0,我相信它是netcoreapp2.0.它还使用了.net 4.6.1创建的nuget包.我可以控制这个nuget包,如果需要可以改变它.它确实有netstandards 2.0作为nuget包导入.

如果我包含在我的cproj文件中:

    <TargetFramework>netcoreapp2.0</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

我收到这个警告:

包'Terryberry.Roes.Common 2017.9.29-mongo'使用'.NETFramework,Version = v4.6.1'而不是项目目标框架'.NETCoreApp,Version = v2.0'进行了恢复.此软件包可能与您的项目不完全兼容.

以及有关system.net.sockets从4.3降级到4.1的错误.4.6.1 nuget包有System.Net.Sockets 4.3所以我不确定它为什么要降级.

确切的错误供参考:

检测到的包降级:System.Net.Sockets从4.3.0升级到4.1.0.直接从项目引用包以选择不同的版本.MyNetCoreProject(> = 2017.2.0) - > Microsoft.VisualStudio.Web.BrowserLink(> = 1.1.2) - > Microsoft.Extensions.FileProviders.Physical(> = 1.1.1) - > NETStandard.Library(> = 1.6. 1) - > System.Net.Sockets(> = 4.3.0)MyNetCoreProject(> = 2017.2.0) - > Microsoft.VisualStudio.Web.BrowserLink(> = 1.1.2) - > System.Net.Sockets(> = 4.1.0)MyNetCoreProject

我尝试了两种目标:

    <TargetFrameworks>net461;netcoreapp2.0</TargetFrameworks>
Run Code Online (Sandbox Code Playgroud)

这给了我一些警告:

使用'.NETFramework,Version = v4.6.1'而不是项目目标框架'.NETCoreApp,Version = v2.0'恢复包'My461NugetPackage'.此软件包可能与您的项目不完全兼容.

这也让我感到困惑,因为现在我添加了net461,它说要用.NetCoreApp构建它

降级System.Net.Sockets仍然存在错误

然后我决定我愿意尝试net461.只是为了看它是否会编译.确实如此,但是我遇到了运行时错误.

    <TargetFramework>net461</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

这给了我:

未处理的异常:System.TypeLoadException:方法'Microsoft.AspNetCore.Hosting.WebHostBuilder'中的方法'ConfigureAppConfiguration'来自程序集'Microsoft.AspNetCore.Hosting,Version = 1.1.2.0,Culture = neutral,PublicKeyToken = adb9793829ddae60'没有实现.

我已经尝试过做一些研究,但随着.net核心不断发展,有很多旧的/过时的信息.我无法弄清楚这一点.任何指导将不胜感激.

.net c# asp.net-core

5
推荐指数
1
解决办法
6102
查看次数