gpt4 book ai didi

c# - 手动编译包含多个文件、库的完整 C# 项目

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:14 25 4
gpt4 key购买 nike

我使用 C# 在 Microsoft Visual Studio 中创建了一个更大的项目。当我让 IDE 构建项目时会发生什么:在/bin 目录中创建一个 dll 文件

现在我想在控制台(csc 编译器)中手动编译整个东西。我尝试过,但从未成功。

目录结构如下:包含实际项目文件(一个“主文件”)的主目录、一个 bin 目录和一个包含我的项目中引用的其他 .cs 文件的 lib 目录。

我必须在控制台中输入什么才能获得与 IDE 构建器完全相同的结果

在此先感谢您的帮助:)

最佳答案

一种方法是使用“msbuild”,它是 open-source构建引擎 Visual Studio 用于构建应用程序。项目文件 (.csproj) 基本上包含此引擎在构建我们的项目时使用的 XML 格式的各种构建配置。使用 msbuild,您可以按如下方式构建项目:

msbuild.exe MyProj.proj /property:Configuration=Debug

它还有很多其他选项和开关,有助于手动构建项目(参见 this)

如果性能原因促使您手动/有选择地构建,我想提一下,有一个选项可以并行构建多个项目以加快该过程。有一个“maxcpucount”开关,我们可以使用它来定义“msbuild”可以并行构建的最大项目数(参见 this)。您可以按如下方式使用它:

msbuild.exe myproj.proj /maxcpucount:3  

这里有一些可以用于更好的内存管理的属性(参见 this)

如果您想将单个文件编译为可执行文件 (.exe) 或库文件 (.dll),您可以使用 CSharp 编译器 (csc )。它可以按如下方式使用:

编译 File.cs 生成 File.exe:

csc File.cs

编译 File.cs 生成 File.dll:

csc -target:library File.cs

编译 File.cs 并创建 My.exe:

csc -out:My.exe File.cs

在启用优化的情况下编译当前目录中的所有 C# 文件并定义 DEBUG 符号。输出为 File2.exe:

csc -define:DEBUG -optimize -out:File2.exe *.cs

编译当前目录中的所有 C# 文件,生成 File2.dll 的调试版本。不显示 Logo 和警告:

csc -target:library -out:File2.dll -warn:0 -nologo -debug *.cs

将当前目录中的所有 C# 文件编译为 Something.xyz(一个 DLL):

csc -target:library -out:Something.xyz *.cs

更多详情 here

但是,我不建议手动编译每个文件。可以使用上面提到的命令来完成,但需要您编写很长的 shell 脚本。

关于c# - 手动编译包含多个文件、库的完整 C# 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50543283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com