TeamCity build中莫名其妙地清除了msbuild属性
我正在尝试创建一个“tools NuGet包”,它提供了一个工具和设置,在构建过程中解包,供以后的TeamCity构建步骤使用 NuGet包在其TeamCity build中莫名其妙地清除了msbuild属性,msbuild,nuget,teamcity,Msbuild,Nuget,Teamcity,我正在尝试创建一个“tools NuGet包”,它提供了一个工具和设置,在构建过程中解包,供以后的TeamCity构建步骤使用 NuGet包在其build\MyPackageId.props文件中包含以下内容: <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
build\MyPackageId.props
文件中包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MyTool1>$(MSBuildThisFileDirectory)..\tools\MyTool.exe</MyTool1>
</PropertyGroup>
<Target Name="ReportMyToolToTeamCity" BeforeTargets="PrepareToRun">
<PropertyGroup>
<MyTool2>$(MSBuildThisFileDirectory)..\tools\MyTool.exe</MyTool2>
</PropertyGroup>
<Message Text="MyTool1 = $(MyTool1)" />
<Message Text="MyTool2 = $(MyTool2)" />
</Target>
</Project>
$(MSBuildThisFileDirectory)…\tools\MyTool.exe
$(MSBuildThisFileDirectory)…\tools\MyTool.exe
(消息最终将设置TeamCity属性,但这足以说明问题。)
因为它是一个props文件,所以在将NuGet软件包安装到C#项目中之后,它首先添加了一个导入,在导入Microsoft.Common.props的基础上。我想要一个道具文件而不是目标文件,这样属性值也可用于其他项目设置和目标文件
当我在Visual Studio 2015中编译此文件时,我看到MyTool1
和MyTool2
路径设置为与预期相同(正确)的路径
当我从TeamCity(2017.2.2,使用Visual Studio(sln)runner)编译时,根据输出,MyTool1
属性为空,只有MyTool2
显示正确的值
为什么?