【问题标题】:Compiling a .vbproj or .csproj project file without Visual Studio在没有 Visual Studio 的情况下编译 .vbproj 或 .csproj 项目文件
【发布时间】:2010-09-20 22:42:59
【问题描述】:

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

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

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

我想以编程方式调用“某物”,它会获取 .vbproj 文件,并执行 Visual Studio 生成此长命令行的任何操作。我知道我可以自己解析 .vbproj 并生成该命令行,但我宁愿自己省去所有的逆向工程和反复试验......

有没有工具可以做到这一点?我宁愿能够在没有安装 Visual Studio 的机器上完成它。但是,如果有一种方法可以通过一些参数调用 Visual Studio 来执行此操作,那也可以。

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

任何帮助将不胜感激

【问题讨论】:

标签: visual-studio compilation csproj vb.net


【解决方案1】:

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

msbuild /property:Configuration=Release MyFile.vbproj

【讨论】:

【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

      【解决方案4】:

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

      赛义德·易卜拉欣·哈希米

      我的书:Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build

      【讨论】:

        【解决方案5】:

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

        msbuild wpfapp1.sln /p:BuildProjectReferences=true
        

        MSbuild 通常位于:

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

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

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

        【讨论】:

          【解决方案6】:

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

          <NoVBRuntimeReference>On</NoVBRuntimeReference>
          

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-10-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多