所以我正在尝试在Mono中构建一个C#项目。我希望包含对System.Deployment
的引用,条件是Mono编译器定义的__MonoCS__
常量的存在与否。我不确定当MSBuild获得我的.csproj时,这些常量是否已定义。
我想我可能需要添加Mono配置来定义一个MONO常量然后我可以删除对System.Deployment
的引用并使用#if MONO
命令有条件地编译我需要的行...但如果我可以简单地将Condition="Defined(__MonoCS__)"
添加到相关的行中并将其称为好,那将会更容易......
答案 0 :(得分:2)
我认为你不幸倒退了。编译器常量永远不会传递回MSBuild,调用链是MSBuild - >编译器 - >预处理器。
答案 1 :(得分:0)
可悲的是Mono在xbuild中有this bug(相当于MSBuild),因此很难定义这样的条件。
想要尝试修复错误?应该很容易,但实际上我没有时间尝试。