我有一個構建任務,我想包括到我的msbuild腳本。我希望CI先編譯構建任務,然後再嘗試使用它們,以便添加的任何新構建任務都可以使用,並且實際組裝不必編譯並提交給機器CI。我嘗試過這樣的事情。msbuild可以編譯構建任務然後使用它們嗎?
<Target Name="SetupEnv">
<MSBuild Targets="Build" Projects="FooBuildTasks\BuildTasks.sln" />
<UsingTask TaskName="Foo.BarTask" AssemblyFile="$(MSBuildProjectDirectory)\BuildTasks\FooBuildTasks\bin\Release\FooBuildTasks.dll"/>
<BarTask Variable="Test" Value="I'm Alive" />
</Target>
此生成任務彙編文件,但隨後似乎像UsingTask任務不能在目標運行。
錯誤MSB4036:未找到「UsingTask」任務。檢查 以下內容:1)項目文件中任務的名稱是...
有沒有什麼好的解決方案呢?如果我運行UsingTask在項目它工作正常,如果我預先編譯任務程序集。
使用的MSBuild的平臺是3.5
兩步法似乎是最簡單的一步,因爲任務非常複雜,並且可能不適合內聯。我會盡快完成。 – inquam 2012-02-23 21:05:26
如果您的主項目文件不在您運行MSBuild的同一文件夾中,則需要使用$(MSBuildThisFileDirectory)/ $(MSBuildThisFile)。 – 2012-02-24 15:34:56