在我的构建过程中,我试图将文件夹复制到工件文件夹(\ 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