在我的構建過程中,我試圖將文件夾複製到工件文件夾(\ myserver \ d $ \ TFBuild-Agent01 \ 66 \ a)。無法訪問MSBuild中的ArtifactStagingDirectory變量
所以我把這個在.csproj的文件:
<Target Name="BeforeBuild">
<Exec
Command="xcopy.exe Databases "$(Build.ArtifactStagingDirectory)\Databases" /i /e /y /d" />
</Target>
這讓我
錯誤MSB4184:表達式 「」 「.ArtifactStagingDirectory」 無法評估。方法'System.String.ArtifactStagingDirectory'找不到
我可以在網上找到的所有東西都說$(Build.ArtifactStagingDirectory)就是這樣做的方法。但它不起作用。在2015年TFS
建設與Visual Studio 2015年
這不起作用或者:
<Exec
Command="xcopy.exe Databases "$($Env:BUILD_ARTIFACTSTAGINGDIRECTORY)\Databases" /i /e /y /d" />
表達 「$ ENV:BUILD_ARTIFACTSTAGINGDIRECTORY」 無法評估。
這並不是錯誤,但它看起來像%BUILD_ARTIFACTSTAGINGDIRECTORY%被替換爲空字符串:
<Exec Command="xcopy.exe Databases "%BUILD_ARTIFACTSTAGINGDIRECTORY%\Databases" /i /e /y /d" />
不知道你的問題現在已經解決了但爲了調試這種情況下,MSBuild消息任務是有用的: 這樣你就可以看到它具有的值真的被設置在csproj裏面 –
ackh