我正在尝试使用Visual Studio 2003的命令行进行自动构建。我有以下代码:
call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
Devenv /rebuild debug /project Project1 "C:\Builds\MyApp\Sample.sln"
Devenv /rebuild debug /project Project2 "C:\Builds\MyApp\Sample.sln"
Devenv /rebuild debug /project Project3 "C:\Builds\MyApp\Sample.sln"
在上面的脚本中,我单独构建每个项目(就像我在互联网上的教程中看到的那样)。但每次我尝试构建时,都会引发很多关于未找到Microsoft命名空间的错误。以下是我在构建中获得的示例错误消息:
命名空间或输入Imports的“数据” 找不到“Microsoft.Practices.EnterpriseLibrary.Data”。
导入的命名空间或类型“Sql”
找不到“Microsoft.Practices.EnterpriseLibrary.Data.Sql”。
命名空间或输入Impging的“Logging” 找不到“Microsoft.Practices.EnterpriseLibrary.Logging”。
无法建造卫星组件,因为主项目为 输出缺失。
我已经尝试了另一种方法来构建,但这次它是整个解决方案,但它仍然给了我相同的错误。
call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
Devenv C:\Builds\MyApp\Sample.sln /rebuild "Debug"
有人可以告诉我我错过了什么吗? 我在一个解决方案中有50多个项目,这对我来说真的有很大的帮助。为此创建一个自动构建。
非常感谢!干杯!
答案 0 :(得分:0)
可选:(也许这是踢球者)..... cd到.sln文件所在的目录。
“c:\ myfullpath \ Devenv.exe”/ rebuild debug / project Project1“C:\ Builds \ MyApp \ Sample.sln”
从命令行尝试,看看会发生什么。
未来注:
在2.0中,您不使用“devenv.exe”,而是将其更改为msbuild.exe。 (就像一个FYI)。
您还可以查找MSBee。 (如何使用msbuild构建1.1应用程序)。
修改
所有这些线路都在为我工作.......我没有安装VS2003了。但我使用VS2010 devenv.exe来运行一些样本。
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" MySolution.sln /clean
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /build debug /project MyProject001 MySolution.sln
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /rebuild debug /project MyProject001 MySolution.sln
注意,如果我用MySolution.sln切换/ clean(在第一个例子中).....它失败了。所以可能有一些订购伏都教。
答案 1 :(得分:0)
我不确定你想要什么,但我自动编译我使用msbuild
的C#项目。
例如,这是我用来构建一些XNA项目游戏的代码:
@echo off
set path=%path%;C:\Windows\Microsoft.NET\Framework\v4.0.30319
Rem In the above line replace "v4.0.30319" with the latest framework version you have
Rem (or include the path to youy inbuilt compiler)
Msbuild "C:\Builds\MyApp\Sample.sln"
现在,为了满足您的任何其他要求,只需在将msbuild /?
environemtn变量添加到path
environemtn变量后输入{{1}}即可。最好的是这将是每个Windows组件的内置版本!
请询问您是否想知道其他任何事情,或者您是否想要做其他事情。
答案 2 :(得分:0)
试试这个: 您的每个项目都应该引用“Microsoft.Practices.EnterpriseLibrary” - 文件,dll或者存储这些文件。
在打开的IDE中,可能会持有一个引用并将其复制到correspodending构建文件夹中。 (构建任务后)。在独立建立它时,无法找到参考文献。 如果存在任何复制任务 - 请检查相对路径。与构建IDE相比,构建后,您的依赖文件可能会定位到不同的文件夹。 只是另一个想法..