我有导入,这在我的C#项目的Mono (甚至在编译时!)中不能很好地工作。我想排除Mono中的一些代码(在编译时)。我以前也用过类似的东西:
#if !__MonoCS__
...
#endif但是,在Mono4.0.2,OSX中没有定义这个常量。可能只在DNVM或Roslyn上。
如果我在文件开头手动定义__MonoCS__常量。一切都很好。
在这个平台上是否有类似的__MonoCS__?
如果是这样的话,我的项目是基于asp.net vnext的webapi。我使用以下命令运行该项目:
/Users/buraktamturk/.dnx/runtimes/dnx-mono.1.0.0-beta4/bin/dnx . kestrel对于许多具体的信息,答案是“为什么我在编译时需要它?”只有当以下代码被注释掉时,项目才能正常工作。
if(false) { // yes, false!
var certificate = new X509Certificate2(config.Get("google:pkeyloc"), config.Get("google:pkeypw"), X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(config.Get("google:serviceacc"))
{
Scopes = new[] { StorageService.Scope.DevstorageFullControl }
}.FromCertificate(certificate)
);
}发布于 2015-07-05 23:12:08
将该代码移动到另一个函数。
只要您不在没有DLL的平台上调用该函数,一切都会好起来的。
https://stackoverflow.com/questions/31235783
复制相似问题