有没有办法直接编译.vbproj或.csproj项目文件,就像Visual Studio一样?

在Visual Studio中编译时,“输出”按钮window显示对编译器的实际调用,通常如下所示:

vbc.exe [一堆选项] [looooong .vb文件列表]

我想以编程方式称呼“某事”。这将采用.vbproj文件并执行Visual Studio所做的任何操作来生成这个长命令行。我知道我可以自己解析.vbproj并生成该命令行,但我宁愿自己保存所有的逆向工程和反复试验......

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

我简要地看了一下MSBuild,看起来它的工作原理是我必须特别制作的.proj项目文件,并且我每次将文件添加到.vbproj文件时都需要更新。 (我确实看了简短地,所以我很可能错过了一些重要的东西)

非常感谢任何帮助

有帮助吗?

解决方案

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

msbuild /property:Configuration=Release MyFile.vbproj

其他提示

MSBuild还可以获取您的解决方案文件并使用它来进行编译。

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

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

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

您知道.vbproj和.csproj文件是MSBuild。所以你读过的所有内容都可以直接应用于这些文件。

Sayed Ibrahim Hashimi

我的书: Microsoft Build Engine内部:使用MSBuild和Team Foundation Build

在项目解决方案文件夹中:

msbuild wpfapp1.sln /p:BuildProjectReferences=true

MSbuild通常位于:

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

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

csc.exe编译文件,msbuild编译项目和解决方案

.vbproj文件的顶部是。将此行添加到属性组以禁止VB运行时:

<NoVBRuntimeReference>On</NoVBRuntimeReference>

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

scroll top