2015-07-05 2 views
1

У меня есть импорт, который не работает в Mono (даже во время компиляции!), В моем проекте C#. Я хочу исключить некоторый код в Mono (во время компиляции). Я использовал что-то подобное раньше:__MonoCS__ постоянный эквивалент в Mono, Roslyn, Dnvm

#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 

Для многих конкретной информации, ответ. Проект работает только при комментировании следующего кода.

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) 
    ); 
} 
+0

Какие ошибки вы получаете? – SLaks

+0

Я получаю «System.IO.FileNotFoundException: не удалось загрузить файл или сборку« System.Net.Http »или одну из его зависимостей. Система не может найти указанный файл. Имя файла:« System.Net.Http », когда следующий код активен. Тем не менее, я использую System.Net.Http почти каждую часть проекта без каких-либо проблем. –

+0

Также Console.WriteLine («Hello World»); перед if (false) не работает, если я не исключаю и код. –

ответ

1

Переведите этот код на другую функцию.

Пока вы не вызываете эту функцию на платформах, у которых нет этой DLL, все будет хорошо.

+0

WOW! Это не ответ на вопрос, но он решил мою проблему, я сделал что-то вроде '' '' if (! IsMono) {test1234(); } '' '' и это сработало! –