2011-06-15 71 views
1

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

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

问题是我们有多个开发人员,所以使用绝对路径解决方案将无法正常工作。我们将不得不手动更新每个开发服务器每个开发者的路径。开发人员是否有一个预生成事件来从Visual Studio 2010构建和部署prebuild.sln,并使用相对路径? 一切,我在网上看到的是完整路径: devenv的/建造 devenv的/部署

是有一个变量,我可以抢,目前的解决方案是完整的路径和我的子目录和解决方案追加为Devenv命令一个完整的路径?

回答

0

你有两个选择:

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

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

0

这个宏是在构建事件的命令行版本:

$(SolutionDir)

+0

Devenv $(SolutionDir)Common \ Common.sln/Build Release 获得“用代码9009退出” – Anthony 2011-06-15 15:23:17

相关问题