__MonoCS__ Mono、Roslyn、Dnvm 中的等价常量
__MonoCS__ constant equivalent in Mono, Roslyn, Dnvm
我的 C# 项目中有导入,但在 Mono 中效果不佳(即使在编译时!)。我想在 Mono 中排除一些代码(在编译时)。我以前用过类似的东西:
#if !__MonoCS__
...
#endif
但是这个常量在 Mono 4.0.2 中没有定义,OSX。可能只在 DNVM 或 Roslyn 上。
如果我在文件开头手动定义 __MonoCS__ 常量。一切正常。
这个平台上有__MonoCS__等价物吗?
如果这事,我的项目是asp.net基于vnext的webapi。我 运行 使用以下命令的项目:
/Users/buraktamturk/.dnx/runtimes/dnx-mono.1.0.0-beta4/bin/dnx . kestrel
很多具体信息,"why i need it in compile time?"的回答。只有注释掉下面的代码才能运行项目
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)
);
}
将该代码移至其他函数。
只要您不在没有该 DLL 的平台上调用该函数,一切都会好起来的。
我的 C# 项目中有导入,但在 Mono 中效果不佳(即使在编译时!)。我想在 Mono 中排除一些代码(在编译时)。我以前用过类似的东西:
#if !__MonoCS__
...
#endif
但是这个常量在 Mono 4.0.2 中没有定义,OSX。可能只在 DNVM 或 Roslyn 上。
如果我在文件开头手动定义 __MonoCS__ 常量。一切正常。
这个平台上有__MonoCS__等价物吗?
如果这事,我的项目是asp.net基于vnext的webapi。我 运行 使用以下命令的项目:
/Users/buraktamturk/.dnx/runtimes/dnx-mono.1.0.0-beta4/bin/dnx . kestrel
很多具体信息,"why i need it in compile time?"的回答。只有注释掉下面的代码才能运行项目
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)
);
}
将该代码移至其他函数。
只要您不在没有该 DLL 的平台上调用该函数,一切都会好起来的。