2008-11-05 152 views
17

有没有像Visual Studio那样直接编译.vbproj或.csproj项目文件的方法?在没有Visual Studio的情况下编译.vbproj或.csproj项目文件

当你在Visual Studio编译的“输出”窗口中显示的编译器,它通常看起来像实际调用:

VBC.EXE [一堆选项] [一长串的文件的.vb名单]

我想以编程方式调用“something”,它将采用.vbproj文件并执行Visual Studio的任何操作来生成此长命令行。我知道我可以解析的.vbproj我自己和生成命令行,但我宁愿拯救自己所有的逆向工程和试错...

有没有做到这一点的工具吗?我宁愿能够在没有安装Visual Studio的情况下在一台机器上完成它。但是,如果有一种方法可以用一些参数调用Visual Studio来完成它,那么也可以。

我简单地看了一下MSBuild,它看起来像是从.proj项目文件开始的,我必须特别制作,而且每次向.vbproj文件中添加文件时都需要更新。 。 (我没有看简要它,所以它很可能我错过了一些重要的事情)

任何帮助,将不胜感激

+0

参见http://stackoverflow.com/q/5174893/30280 – Bevan 2012-02-28 20:51:21

回答

39

MSBuild是最简单的方法。例如:

msbuild /property:Configuration=Release MyFile.vbproj 
+1

非常感谢你 – 2008-11-05 19:59:03

4

的MSBuild也可以把你的解决方案文件,并用它做编译。

2

您可以使用MSBUILD或CSC。正如你所提到的,MSBuild确实使用你的项目和解决方案文件。 CSC将编译特定文件或特定目录树中的所有文件。

您还应该考虑使用NAnt和/或CruiseControl.net自动化您的构建。

另外,这里是一个关于如何在没有使用CSC的visual studio下编译代码的例子。 http://blog.slickedit.com/?p=163

-1

在.vbproj文件的顶部是一个。将此行添加到属性组以抑制VB运行时:

<NoVBRuntimeReference>On</NoVBRuntimeReference> 

MSBuild完成剩下的工作。如果您拥有IDE,则无需使用命令行。

0

在项目解决方案文件夹:

msbuild wpfapp1.sln /p:BuildProjectReferences=true 

的MSBuild通常位于:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319 

(或类似的东西,取决于版本)

CSC.EXE编译文件的MSBuild编译项目和解决方案

相关问题