【问题标题】:Visual studio 2010 pre-build event to compile & deploy a solution用于编译和部署解决方案的 Visual Studio 2010 预构建事件
【发布时间】:2011-09-15 15:25:36
【问题描述】:

我需要在 Visual Studio 中设置一个构建和部署解决方案的预构建事件。单独的解决方案位于我正在使用的解决方案的当前目录下的目录中。这有意义吗?

           top level dir
          /          \
         /            \
        /              \
 |------------|    |-----------------|
 | mySLn.sln  |    |prebuild sln dir |
 |------------|    |-----------------|
                          \
                           \
                            \
                   |-----------------|
                   |  prebuild.sln   |
                   |-----------------|

问题是我们有多个开发人员,因此为解决方案使用绝对路径是行不通的。我们将不得不手动更新每个开发服务器的每个 develoepr 的路径。开发人员是否有一个预构建事件来构建和部署具有相对路径的 Visual Studio 2010 中的 prebuild.sln? 我在网上看到的一切都是完整的路径: 开发环境/构建 开发环境/部署

是否有一个变量我可以获取当前解决方案所在的完整路径并将我的子目录和解决方案附加到 devenv 命令以获得完整路径?

【问题讨论】:

    标签: visual-studio-2010 pre-build-event


    【解决方案1】:

    你有两个选择:

    首先是修复解决方案的结构,并在mySln.sln中的项目中添加项目引用。 (为此,您必须将子项目添加到解决方案中,然后添加项目引用。然后,您可以根据需要从 mySln.sln 中删除子项目。)

    第二个选项是在预构建解决方案中构建项目。然后在需要引用预构建输出的项目中设置 reference paths,然后添加对 dll 的引用。 Visual Studio 会将 dll 的路径存储在 *.csproj.user 文件中。然后,每次开发人员拉取新版本的 mySln.sln 时,他们都需要检查并设置项目中的引用路径,但他们不会需要自己设置引用。然后,您的预构建解决方案可以在任何地方使用,或者实际上构建在 CI 服务器上并根据需要下载输出。

    【讨论】:

      【解决方案2】:

      此宏在 Build Event 命令行中可用:

      $(解决方案目录)

      【讨论】:

      • Devenv $(SolutionDir)Common\Common.sln /Build Release 获得“退出代码 9009”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      相关资源
      最近更新 更多