使用 VS2017 制作框架(不是核心,不是标准)NuGet 包
Making Framework (not Core, not Standard) NuGet packages with VS2017
如果我使用 VS2017 创建 .NET Core 或 .NET Standard 项目,并打开项目的属性,会出现一个 "Package" 选项卡,其中包含一个标记为 "Generate NuGet package on build" 的复选框。但如果是 .NET Framework 项目,则没有这样的选项卡。
我是不是漏掉了什么?或者对于框架项目,我是否必须通读整个手册 nuspec/pack/blah blah rigamarole?
Making Framework (not Core, not Standard) NuGet packages with VS2017
那是因为.NET Framework项目仍然使用旧的项目类型(非SDK),Package选项卡只被新的项目类型(SDK)支持。
如果要使用库 .NET Framework 项目的“包”选项卡,可以将项目从旧的 .csproj 转换为新的 .csproj,(右键单击您的项目->Unload project->Edit .csproj. 将 csproj 的内容替换为以下内容:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
</Project>
注意:需要在Properties中删除AssemblyInfo.cs
文件
有关将旧 .csproj 转换为新 .csproj 的详细信息,请参阅 Old csproj to new csproj: Visual Studio 2017 upgrade guide。
然后您将获得 .NET Framework 项目的包选项卡:
希望对您有所帮助。
如果我使用 VS2017 创建 .NET Core 或 .NET Standard 项目,并打开项目的属性,会出现一个 "Package" 选项卡,其中包含一个标记为 "Generate NuGet package on build" 的复选框。但如果是 .NET Framework 项目,则没有这样的选项卡。
我是不是漏掉了什么?或者对于框架项目,我是否必须通读整个手册 nuspec/pack/blah blah rigamarole?
Making Framework (not Core, not Standard) NuGet packages with VS2017
那是因为.NET Framework项目仍然使用旧的项目类型(非SDK),Package选项卡只被新的项目类型(SDK)支持。
如果要使用库 .NET Framework 项目的“包”选项卡,可以将项目从旧的 .csproj 转换为新的 .csproj,(右键单击您的项目->Unload project->Edit .csproj. 将 csproj 的内容替换为以下内容:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
</Project>
注意:需要在Properties中删除AssemblyInfo.cs
文件
有关将旧 .csproj 转换为新 .csproj 的详细信息,请参阅 Old csproj to new csproj: Visual Studio 2017 upgrade guide。
然后您将获得 .NET Framework 项目的包选项卡:
希望对您有所帮助。