.NET MSBuild目标:在Targets=Pack之后使用dotnet build

6

更新:

添加dotnet build -v d 或者设置详细度,会公开更多关于此过程的信息。

原文:

参考:https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets

我正在使用dotnet build,我的csproj文件看起来像:

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

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <PackageOutputPath>..\packages\</PackageOutputPath>
    <AssemblyVersion>0.1.0</AssemblyVersion>    
  </PropertyGroup>

  <Target Name="CopyPackage" AfterTargets="Pack">
      <Copy
        SourceFiles="$(OutputPath)..\$(PackageId).$(PackageVersion).nupkg"
        DestinationFolder="%USERPROFILE%\.nuget\packages"
      />
  </Target>
  <Target Name="AfterPackMessage" AfterTargets="Pack">
    <Message Text="Copied $(OutputPath)..\$(PackageId).$(PackageVersion).nupkg TO %USERPROFILE%\.nuget\packages" />  
  </Target>
</Project>

我只能看到这个输出。
C:\code\MySolution.net\MyProject.Core (feature-mediator-http)
λ dotnet build
Microsoft (R) Build Engine version 15.8.169+g1ccb72aefa for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 70.34 ms for C:\code\MySolution.net\MyProject.Core\MyProject.Core.csproj.
  MyProject.Core -> C:\code\MySolution.net\MyProject.Core\bin\Debug\netstandard2.0\MyProject.Core.dll
  Successfully created package 'C:\code\MySolution.net\packages\MyProject.Core.1.0.0.nupkg'.

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:03.68

这里有两个问题:

1)那些 Target 似乎没有被执行

2)AssemblyVersion 似乎没有被应用

dotnet pack 或者 nuget pack 看起来没有什么区别

1个回答

0
最好在这种情况下使用 Importance="High":
<Message Importance="High" Text="your Message"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接