使用批处理文件对 c# 解决方案进行条件编译 [关闭]

Posted

技术标签:

【中文标题】使用批处理文件对 c# 解决方案进行条件编译 [关闭]【英文标题】:Conditional Compilation of c# solution using a batch file [closed] 【发布时间】:2013-11-28 06:57:33 【问题描述】:

我需要一个批处理文件,它可以有条件地编译我的 c# 解决方案,我尝试查找但没有检索到任何相关内容。

【问题讨论】:

你的意思是什么条件?你能举个例子吗? 条件是我的意思是源代码中的#define 区域,我想要的是我可以在我的批处理脚本中给出区域的名称作为输入并相应地构建它 msbuild, defining Conditional Compilation Symbols的可能重复 @AlexeiLevenkov 提到的链接指向 MSBUILD 文档。在我的回答中,我假设您正在寻找 C# 编译器命令行选项。 我急需一个外部批处理文件,请帮帮我 【参考方案1】:
csc /define:DEBUG /optimize /out:File2.exe *.cs

void Foo()

#if DEBUG
    PrintDebugInfo();
#endif
    Bar();

这定义了常量 DEBUG,因此 File2.exe 将包含对 PrintDebugInfo 的调用。

有关更多详细信息,请参阅MSDN csc.exe commandline 选项。

【讨论】:

+0:请注意,您回答的问题略有不同 - “如何使用定义编译单个 CS 文件”,而不是完整的解决方案。 @AlexeiLevenkov - 正确。 user3044705 将决定正确答案是什么/他需要什么。如果它没有回答问题并且在您提到的副本中得到了回答,我很乐意删除我的答案。 当我在我的批处理文件(我希望它是一个外部批处理文件)中使用上述代码时,csc 未被识别为命令 @user3044705 - 确保使用 Visual Studio 命令提示符/环境。见msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx 是的,但代码仍然以代码 1 退出

以上是关于使用批处理文件对 c# 解决方案进行条件编译 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

C#-C#-#define条件编译

如何为 C# 生成自定义 StyleCop 规则 - 条件编译预处理器指令

XAML 条件编译

删除 C# 二进制文件中未使用的预处理器符号

C#预处理器命令

gcc与vim的使用