1

我正在尝试使用 MSBuildExtensionPack 并阅读我必须使用以下方法导入项目:

$(MSBuildProjectDirectory)..\MSBuild.ExtensionPack.tasks $(MSBuildProjectDirectory)....\Common\MSBuild.ExtensionPack.tasks

您不必在使用任务时包含上述类型的导入。如果您使用了默认安装路径,只需使用以下导入:

3.5 --- 4.0 ---

我没有在构建服务器上安装扩展包,而是将 DLL 复制到特定位置并尝试通过以下代码访问它:

使用 TeamCity 触发构建后,出现以下错误:

错误 MSB4019:未找到导入的项目“C:\Apps\Teamcity\buildAgent 1\work\vb82348r312dsd33\thirdparty\tools\MsBuildExtensions”。确认声明中的路径正确,并且该文件存在于磁盘上。

如果我查看构建机器,我可以找到该文件夹​​和其中的所有文件。不知道为什么我会收到这个错误。

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
         ToolsVersion="4.0"
         DefaultTargets="StopIT">

 <Import Project=".\thirdparty\tools\MsBuildExtensions"/>

<Target Name="StopIT">
        <MSBuild.ExtensionPack.Computer.WindowsService TaskAction="Stop" ServiceName="AppServices"  MachineName="MyMachineName"/>
  </Target>
</Project>

请提供您的建议

4

1 回答 1

1

您需要将导入从

<Import Project=".\thirdparty\tools\MsBuildExtensions"/>

<Import Project=".\thirdparty\tools\MsBuildExtensions\MSBuild.ExtensionPack.tasks"/>

命名文件夹是不够的,您必须命名应导入的每个文件(.proj、.target、.tasks),在您的情况下为 MSBuild.ExtensionPack.tasks

任务文件包含任务名称和在哪里找到它们的程序集之间的某种映射。

于 2013-05-31T10:43:36.713 回答