C# 在visual Studio之外编译项目

C# 在visual Studio之外编译项目,c#,visual-studio,visual-studio-2013,C#,Visual Studio,Visual Studio 2013,有没有一种方法可以从另一个c#应用程序编译visual Studio之外的应用程序 我有一个应用程序,它需要一个编码到设备中的唯一id,我希望只为该设备编码构建,所以我不需要更改硬核心id,构建,放置在设备上。我想编写另一个应用程序,提取设备ID,修改所需的.cs文件,然后在发行版中构建项目并将其复制到设备 这能做到吗 此外,我还有生成后代码,如果这在过程中很重要,可以运行这些代码。您可以使用MSBUILD或CSCMSBuild,正如您所提到的,它确实使用您的项目和解决方案文件。CSC将编译特定

有没有一种方法可以从另一个c#应用程序编译visual Studio之外的应用程序

我有一个应用程序,它需要一个编码到设备中的唯一id,我希望只为该设备编码构建,所以我不需要更改硬核心id,构建,放置在设备上。我想编写另一个应用程序,提取设备ID,修改所需的.cs文件,然后在发行版中构建项目并将其复制到设备

这能做到吗


此外,我还有生成后代码,如果这在过程中很重要,可以运行这些代码。

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

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

msbuild /property:Configuration=Release MyFile.vbproj
您还应该考虑使用NAnt和/或CruiseControl.net自动化构建

此外,这里还有一个示例,说明如何在不使用VisualStudio的情况下使用CSC编译代码。

再看看这些东西


让您的第二个项目像从命令行编译一样进行编译,请参见此使用app.config来存储唯一ID,而不是将其硬编码到应用程序中?看起来这将满足我的需要。我不认为我可以完全依靠它自己来自动化构建,因为它需要我为每个构建插入一个新设备。每个生成都只锁定到该设备,以帮助防止重复。