我正在开发一个库,想为多个版本的.NET Framework创建NuGet包。我没有找到任何完整的操作列表的文章。
我尝试了第一种选择,创建了一组配置,如Release_Net45等。然后我编辑了csproj文件,将输出目录(lib/net45等)和每个配置的目标框架版本进行了更正。然后我构建了每个配置。之后我运行了nuget pack,并且成功创建了包,但是有一个警告说一个dll没有被添加,因为它已经在包中了...
然后我尝试编辑csproj文件,向与Release配置相对应的PropertyGroup中包括TargetFrameworks元素和元素以提供包元数据。编辑后重新加载项目时,在解决方案资源管理器中出现了一个名为Dependencies的新组。我尝试使用Developer Command Prompt中的msbuild /t:pack /p:Configuration=Release创建包,但是这个过程以错误结束,提示没有pack目标。为了解决这个问题,我添加了NuGet.Build.Tasks.Pack包,之后就可以构建包了。但是当我查看配置管理器时,我的配置突然变得损坏了。
我没有预料到为多个目标框架设置包会如此痛苦 :( 什么是正确的方法?有没有完成此任务的完整指南?
xyz.csproj
文件中,并在 Visual Studio 中打开它以开始使用。从经典 csproj 迁移到基于 SDK 的 csproj 也没有很好的迁移方案 - 大多数情况下需要手动编辑 csproj 文件(并且需要知道该怎么做)。 - Martin UllrichTargetFrameworkVersion
标签,它不支持多个框架,并将导致在加载项目时出现(...) GetPathToStandardLibraries(.NETFramework, netstandard1.4;net40;net45, '', '', '', '')"
无法评估。输入字符串格式不正确。因此,请确保将此标记重命名为TargetFrameworks
。花了我一个小时才找到这个问题 D': - nozem