C#的条件编译,如果程序集存在我有使用该引用的代码,我只想在程序集存在时编译它。我正在考虑以下内容:#ifASSEMBLY_EXISTSAssemblyClass.DoSomething();#endif我可以将#define放在顶部并根据需要对其进行注释/取消注释,但我更愿意,如果没有我的手动干预,它可能只知道它在那里,这让我相信#if不适用于这个案例。还有另一种方法可以根据程序集的存在有条件地进行编译吗?也许在MSBUILD中用条件来做;它看起来像是$(DefineConstants);DLLEXISTS并且应该在您的.csproj文件中走得很远。这大致是“如果my.dll存在,则通过附加DLLEXISTS重新定义常量”现在您应该能够执行#ifDLLEXISTS//您的内容#endif您可能需要摆弄EXISTS表达式以找到适当的相对路径。不,你不能那样做。您不能在编译时定义条件编译符号的结果。如果您想变得更有趣,您可以编写一个新程序来检测丢失的程序集并修改您的源代码。然后,您可以在项目的预构建事件中执行此过程。修改源代码只需在源文件顶部添加或删除建议的#define。以上就是C#学习教程:如果编译存在,那就是C#条件编译分享。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
