1

我試圖使用MSBuildExtensionPack和閱讀,我必須使用導入的項目:從一個特定的位置使用MSBuildExtensionPack(DLL參考)

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

它不應該是必要的,爲您在您的任務使用上述類型的導入。如果你使用了默認的安裝路徑,只需使用下面的進口:

3.5 --- 4.0 ---

我還沒有安裝在構建服務器的擴展包,而我抄DLL成specifc位置,並試圖通過下面的代碼來訪問它:

trigerring使用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> 

請提供您的建議

+0

您能否提供進口步驟?從錯誤信息看起來你指的是一個文件夾,而不是.tasks文件,因爲它是必要的 – MikeR

+0

@MikeR:謝謝你的回覆。我已經添加了構建文件。我試圖通過名爲AppServices的服務停止在一臺重新制作的機器上。 – SharpCoder

回答

1

您需要將進口來自

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

改變

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

這是不夠的,命名文件夾,你一定要命名每個文件(.proj,.target,.tasks)應該被導入,在你的情況下MSBuild.ExtensionPack.tasks

任務文件包含任務名稱和程序集之間的某種映射,以查找它們。