msbuild - 在 TFS 的 MSBuild PostBuildEvent 中使用 mklink 命令

标签 msbuild symlink tfs-2015 post-build-event mklink

我的 .csproj 在重新生成符号链接(symbolic link)的 .csproj 文件中定义了以下生成后事件。这在手动 Visual Studio 构建中运行良好,并且符号链接(symbolic link)可以毫无问题地重新生成:

 <PostBuildEvent>
  del C:\foo\foo\bin\debug\my.config
  mklink C:\bar\bar\bar\bar\bar\bar\bin\debug\my.config c:\baz\baz\my.config  
</PostBuildEvent>

但是,我正在尝试使用 TFS2015 与使用 MSBuild 的自动构建建立持续集成,但是在这种情况下,构建失败并显示“命令 mklink C:\bar\bar\bar\bar\bar\bar\bin\debug\my.config c:\baz\baz\my.config 以代码 1' 退出。

如何通过自动构建重新生成符号链接(symbolic link)?

最佳答案

我通过以下方式在我的 csproj 文件中将变量 $(BuildingInsideVisualStudio) 设置为 true 来解决此问题:

<PropertyGroup Condition="'$(BuildingInsideVisualStudio)' == 'true'">
    <PostBuildEvent>
       del C:\foo\foo\bin\debug\my.config
       mklink C:\bar\bar\bar\bar\bar\bar\bin\debug\my.config c:\baz\baz\my.config  
    </PostBuildEvent>
</PropertyGroup>

我曾在其他地方将此视为可能的答案,但是我看到的帖子显示语法不正确,并且没有清楚地说明如何在 csproj 构建脚本的上下文中使用该变量。希望这会为某人澄清。

这篇 MSDN 文章很有用: https://msdn.microsoft.com/en-us/library/ms171468(v=vs.140).aspx

关于msbuild - 在 TFS 的 MSBuild PostBuildEvent 中使用 mklink 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38002335/

相关文章:

bash - 将目录的快捷方式(软链接(soft link))添加到全局 PATH 以便可以从任何地方访问它

git - 如何在 Windows 上将符号链接(symbolic link)添加到 git 存储库?

tfs - 您如何指定对 TFS 版本的要求?

unit-testing - 在 TFS 2015 上运行的单元测试中,App.Config 不提供连接字符串

tfs - TFS Windows 计算机文件复制所需的安全性

visual-studio-2010 - 如何使用命令行取消 Visual Studio 构建?

msbuild - 我在哪里可以获得项目文件中所有可用属性的列表?

asp.net - 什么Jenkins插件可以用于.NET网站部署?

windows - 从 babun 主目录创建到其他路径的符号链接(symbolic link)

svn - 使用 Subversion 在提交时构建