c# - 尝试使用 msbuild 构建和打包 net5 全局工具时出错
问题描述
我有一个带有目标框架 net5.0 的全局工具,我可以从 VS 构建和打包 nuget。但是从 msbuild 执行相同操作时会失败
msbuild 项目
<Target Name="Build">
<Exec Command="..\.nuget\nuget.exe restore $(NugetFolder)\SignalR.EventAggregatorProxy.AspNetCore.GlobalTool.csproj" />
<MSBuild Projects="$(NugetFolder)\SignalR.EventAggregatorProxy.AspNetCore.GlobalTool.csproj" Properties="Configuration=Release;OutDir=$(NugetFolder)\out\"/>
</Target>
Cs proj 我正在尝试构建
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<PackAsTool>true</PackAsTool>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageReleaseNotes>
</PackageReleaseNotes>
<Version>5.2.266.0</Version>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="5.0.0" />
<PackageReference Include="SignalR.EventAggregatorProxyCore" Version="5.2.265.0" />
</ItemGroup>
</Project>
构建期间的错误消息
C:\Program Files\dotnet\sdk\5.0.202\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(241,5): error NETSDK1005: Assets file 'C:\git\SignalR.EventAggregatorProxy3\ NugetOutput\obj\project.assets.json' 没有“net5.0”的目标。确保恢复已运行,并且您已在项目的 TargetFrameworks 中包含“net5.0”。[C:\git\SignalR.EventAggregatorProxy3\NugetOutput\SignalR.EventAggregatorProxy.AspNetCore.GlobalTool.csproj]
更新 执行 dotnet 构建工作,但我不知道它是否是首选方式?
<Target Name="Build">
<Exec WorkingDirectory="$(NugetFolder)" Command="dotnet build --configuration Release" />
</Target>
解决方案
推荐阅读
- java - 为什么我们需要 Java 中的 throw 关键字?
- twilio - 实时转录 | Twilio 代理会议
- android - Facebook Audience Network 未显示测试广告。已添加 TestDevice
- c++ - 专注于没有被捕获的 GtkGlArea
- excel - For 循环是否可以是动态的,因为代码运行时限制会发生变化?
- xslt - xsltproc: xsl:version: 仅支持 1.1 功能
- postgresql - Yii2 覆盖与 postgres 数组数据类型相关的条件
- graph - 3D 力有向图用图像替换节点
- nim-lang - Nim-lang:具有两个变量的列表理解
- wordpress - Woocommerce API - 产品特色图片