Xamarin.ios MonoTouch仅在调试中链接本机引用

Xamarin.ios MonoTouch仅在调试中链接本机引用,xamarin.ios,monodevelop,static-linking,native-code,Xamarin.ios,Monodevelop,Static Linking,Native Code,我有一个MonoTouch项目,我想在其中包括对一些仅用于测试和调试的本机ios库的引用。我不需要将这些引用编译到发布版本中 我试图编辑.csproj文件,以使链接本机引用的ItemGroup具有一个条件,但它们似乎被忽略了 <ItemGroup Condition=" '$(Configuration)' == 'Debug' "> <NativeReference Include="some path"> <IsCxx>false</IsCxx

我有一个MonoTouch项目,我想在其中包括对一些仅用于测试和调试的本机ios库的引用。我不需要将这些引用编译到发布版本中

我试图编辑.csproj文件,以使链接本机引用的ItemGroup具有一个条件,但它们似乎被忽略了

 <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<NativeReference Include="some path">
  <IsCxx>false</IsCxx>
  <Kind>Static</Kind>
</NativeReference>

假的
静止的

我想可以通过某种方式使用project Options窗口中的附加mtouch arguments选项。不过我不确定


有人知道我如何仅在MonoDevelop中链接特定构建配置的本机引用吗?

MonoDevelop允许您为项目定义的每个配置提供不同的附加mtouch参数。一般来说,这意味着四个:
[Debug | Release]| iPhone[Simulator]
可以使用不同的设置

如果您手动添加静态库,那么很容易从特定目标添加(或删除)静态库


但是,如果您使用的是带有新的
[LinkWith]
支持的绑定,那么这些附加参数将自动为您生成。可能有一些方法可以解决这个问题(例如更改构建操作),但我没有尝试它们。

不幸的是,我正在使用新的绑定,因此为我提供了额外的参数。如果我查看gcc_标志的输出,那么我可以看到libs正在链接。我尝试添加到其他mtouch参数中的任何内容都无法改变这一点。您应该在MonoDevelop上填写一份增强错误报告-这可能已经成为可能(但不容易发现;-),或者应该在将来成为可能(这是一个非常好且有效的场景)。这就是我所担心的。我想现在我可以创建两个独立的项目:一个用于发布,一个用于调试构建。在调试项目中,我可以简单地链接其他项目中的所有文件,并在其中添加本机引用。看起来几乎类似于使用XCode创建重复目标。