【发布时间】:2019-11-18 17:50:39
【问题描述】:
我成功地让这个在本地工作:
<Target Name="InitializeSourceControlInformation" />
<UsingTask TaskName="GetAssemblyVersion" AssemblyFile="$(MSBuildSDKsPath)\Microsoft.NET.Sdk\tools\net46\Microsoft.NET.Build.Tasks.dll" />
<Import Project="$(MSBuildSDKsPath)\Microsoft.NET.Sdk\build\Microsoft.NET.GenerateAssemblyInfo.targets" />
但它在只有 VS 2017 BuiltTools 的 CI 服务器上失败。总的来说,它给人的感觉很老套和脆弱。
但是,我仍然想使用这些目标,因为它们很棒。有没有一种强大的方法来使用它们?它们似乎不依赖于 Sdk 领域中的任何其他东西,除了一个自定义任务。
编辑 1
我们的构建服务器确实有 VS 2017 构建工具。但是开发人员都有 VS 2017 和 VS 2015。如果必须修复 Silverlight 错误,则需要后者。是的,我们还有 Silverlight。
附言
请不要建议迁移到 .NET Core。我会迁移到 Sdk 风格的项目,但还有另一个问题 - Is it possible to write VS extensions using the SDK style projects?
【问题讨论】: