- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试关注此处的文档 -- https://learn.microsoft.com/en-us/visualstudio/msbuild/how-to-extend-the-visual-studio-build-process?view=vs-2017 -- 将一个简单的 Target 添加到 .NET Core 项目文件的构建管道中。但是,我做错了什么,但就是看不到它。
我采用了一个简单的“Hello World”项目文件,添加了一个仅打印消息的简单目标,并按照文档的建议重新定义了 BuildDependsOn
以获取:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
<BuildDependsOn>
Target1;
$(BuildDependsOn)
</BuildDependsOn>
</PropertyGroup>
<Target Name="Target1">
<Message Text="Running Target1" Importance="high" />
</Target>
</Project>
当我尝试使用 msvc2017 或 dotnet CLI(“dotnet build -c Release Hello.csproj”)“构建”此项目时,不会打印该消息。
当我使用 msbuild 查看完全预处理的项目时,我可以清楚地看到 BuildDependsOn
属性的定义。我不确定为什么我的重新定义没有被采纳。我也用 RebuildDependsOn
尝试了同样的方法,但效果相同。
有什么建议吗?我在这里错过了什么?
提前感谢您的帮助!
最佳答案
事情没有按预期工作的原因是因为您有一个 SDK 风格的项目:<Project Sdk="Microsoft.NET.Sdk">
.
请注意:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
</Project>
等价于:
<Project>
<!-- Implicit top import -->
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
<!-- Implicit bottom import -->
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>
Sdk.targets
的隐式导入在您的项目结束时覆盖您对 BuildDependsOn
的定义.
您可以改为显式添加导入,然后添加 BuildDependsOn
的定义在 Sdk.targets
之后导入。
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<Target Name="Target1">
<Message Text="Running Target1" Importance="high" />
</Target>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<BuildDependsOn>
Target1;
$(BuildDependsOn)
</BuildDependsOn>
</PropertyGroup>
</Project>
见 How to: Extend the Visual Studio build process和 How to: Use MSBuild project SDKs .
关于.net - 在 C# 项目中覆盖 BuildDependsOn 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54703037/
我有一个导入的 MSBuild 项目 (appconfig.transformation.targets),它定义了一些任务并将它们放入 BuildDependsOn 属性中。我已将此文件放置在解决方
我正在尝试关注此处的文档 -- https://learn.microsoft.com/en-us/visualstudio/msbuild/how-to-extend-the-visual-stud
我是一名优秀的程序员,十分优秀!