gpt4 book ai didi

c# - 如何从 Visual Studio 2017 中的 .NET Framework 4.5 控制台应用程序引用 .NET 标准库?

转载 作者:IT王子 更新时间:2023-10-29 04:24:22 24 4
gpt4 key购买 nike

我终于安装了 Visual Studio 2017.2 并试图让我的第一个项目正常运行,但我遇到了一些问题,希望能在这里解决。

我有一个非常简单的 .NET 标准库,描述为以下项目文件:

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netstandard1.6</TargetFramework>
</PropertyGroup>

</Project>

还有一个非常简单的 .NET Framework 控制台应用程序,它引用了上述 .NET Standard 库,并描述为以下项目文件:

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net45</TargetFramework>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj" />
</ItemGroup>

</Project>

当我构建控制台应用程序时,出现以下构建错误:

C:\Program Files\dotnet\sdk\1.0.4\NuGet.targets(97,5):错误:Project Common 与 net45 (.NETFramework,Version=v4.5) 不兼容。项目通用支持:netstandard1.6 (.NETStandard,Version=v1.6)

我看到了this question并尝试了那里提供的一些建议,但没有一个奏效。所以,这似乎是一个不同的问题。请注意,这发生在我的解决方案构建过程中,并且没有以任何方式引用(显式)NuGet 包。

最后,如果有帮助,我有一个解决方案可以在此处演示此问题: https://github.com/Mike-EEE/Stash/blob/master/VS2017.Multi/VS2017.dotNetFramework.sln

最佳答案

.NET Framework 4.5 仅支持使用面向 .NET Standard 1.0 或 1.1 的 .net 标准库。由于您的库以 1.6 为目标,因此该工具在这里做正确的事情并出错(因为您的库可能使用 .NET Framework 4.5 中不可用的 API)。如果您将库发布为 NuGet 包并通过包引用使用它,则包还原也会出错(错误表明包不兼容)。

关于 .NET Framework 版本支持哪个 .NET Standard 版本存在一些混淆,特别是因为有可用的预览工具(“2.0”)可以更改这些版本。 The ".NET platforms support" table in the documentation因此包含两行关于支持的版本。但是,在您的情况下,两个版本都将 .NET Framework 4.5 限制为 .NET Standard 1.1。

关于c# - 如何从 Visual Studio 2017 中的 .NET Framework 4.5 控制台应用程序引用 .NET 标准库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44617898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com