小编tj-*_*tti的帖子

无法使用 dotnet CLI 和 nuspec 文件打包 NuGet 包

我有几个项目要从 .NET Framework 4.7 迁移到 .NET Standard 2.0。因此,我尝试使用该dotnet pack命令创建我的 NuGet 包,同时将我的nuspec文件与令牌一起使用。我有几个为我生成版本号的自定义构建脚本。我生成的文件不是版本控制的一部分,但nuspec文件是为什么我想尝试找到一种让令牌工作的方法,否则我会被困在编写新脚本中。

我做的第一件事是GenerateAssemblyInfo在项目文件中将 设置为 false。在我最简单的项目中,csproj文件如下所示:

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

  <PropertyGroup>
     <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
     <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

然后AssemblyInfo.cs,我将生成一个作为构建过程的一部分。在我编译项目之前,该文件如下所示:

using System.Reflection;
using System.Runtime.InteropServices;

[assembly: AssemblyCompany("Company Name")]
[assembly: AssemblyCopyright("Copyright © 2019")]

#if DEBUG
[assembly: AssemblyConfiguration("Debug")]
#else
[assembly: AssemblyConfiguration("Release")]
#endif

[assembly: AssemblyTitle("The Title")]
[assembly: AssemblyDescription("The Description")]
[assembly: AssemblyProduct("The Product")]
[assembly: ComVisible(false)]
[assembly: Guid("48d6ef54-a8fb-4876-8a9a-2fb8e8cd27e7")]
[assembly: AssemblyVersion("6.0.0.0")]
[assembly: AssemblyFileVersion("6.0.0.0")]
Run Code Online (Sandbox Code Playgroud)

然后我有一个.nuspec用于创建 NuGet 包的文件,如下所示:

<?xml version="1.0"?>
<package >
  <metadata> …
Run Code Online (Sandbox Code Playgroud)

c# nuget-spec .net-core

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

标签 统计

.net-core ×1

c# ×1

nuget-spec ×1