ega*_*her 5 msbuild msbuild-task
在 .NET 中,您可以通过指定顶级元素上的属性来指定要使用哪个.NET 项目 SDK:Sdk
Project
<Project Sdk="Microsoft.NET.Web.Sdk">
Run Code Online (Sandbox Code Playgroud)
我正在编写一个 NuGet 包并尝试查找 MSBuild 属性或项目来保存正在使用的 SDK。我在官方文档中没有任何运气,也没有在MSBuild 结构化日志查看器中检查构建时找到一个。
是否有一种惯用的方法来识别在 MSBuild .targets 文件中为项目选择了哪个 Sdk?
我本来期望有一个像
$(MSBuildProjectSdkName) // "Microsoft.NET.Web.Sdk"
Run Code Online (Sandbox Code Playgroud)
我使用 Rider IDE 的“项目属性”窗口找到的最接近的:
这是在一个使用Microsoft.NET.Web.Sdk
.
因此,Web SDK 项目中似乎设置了 3 个与 SDK 相关的属性:
UsingMicrosoftNETSdk
UsingMicrosoftNETSdkRazor
UsingMicrosoftNETSdkWeb
Run Code Online (Sandbox Code Playgroud)
我想你可以确定Web SDK是否与Condition=" '$(UsingMicrosoftNETSdkWeb)' == 'true' "