2012-07-02 9 views
9

Próbowałem uruchomić NuGet na Mono 2.10.9 (Mac), ale bez powodzenia.Jak uruchomić NuGet na Mono 2.10.9?

chcę zainstalować Nancy z repozytorium Nuget:

mono --runtime=v4.0 /usr/local/bin/NuGet.exe install Nancy -Version 0.11.0 

Ale koniec z tym komunikatem o błędzie:

Missing method System.Security.Cryptography.CryptoConfig::get_AllowOnlyFipsAlgorithms() in assembly /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/4.0/mscorlib.dll, referenced in assembly /usr/local/bin/NuGet.exe 
Method not found: 'System.Security.Cryptography.CryptoConfig.get_AllowOnlyFipsAlgorithms'. 

mogę notować repozytoriów bez problemów.

mono --runtime=v4.0 /usr/local/bin/NuGet.exe list Nancy 

Próbowałem dodać Microsoft.Build.dll w tej samej ścieżce jako NuGet.exe (wskazówka ze strony. Nie pamiętam gdzie).

I skończyć z tym błędem:

Invalid type Microsoft.Build.Evaluation.Project for instance field NuGet.Common.MSBuildProjectSystem:<Project>k__BackingField 
Could not load type 'NuGet.Common.MSBuildProjectSystem' from assembly 'NuGet, Version=2.0.30619.9000, Culture=neutral, PublicKeyToken=null'. 

jakieś sugestie, jak można uzyskać NuGet.exe działa na mono (Mac)?

Odpowiedz

8

Obawiam się, że nie można tego zrobić w wersji Mono, którą zainstalowałeś. Że szczególności uwalnianiu (2.10.9) nie zawierają właściwości statycznej:

System.Security.Cryptography.CryptoConfig.AllowOnlyFipsAlgorithms 

, który wydaje się być wymagane przez NuGet.exe „zainstalować” funkcję. Polecenie "list" prawdopodobnie działa, ponieważ nie korzysta z zespołów kryptograficznych (w modułach .NET zespoły są ładowane leniwie, tylko wtedy, gdy wymaga tego kod wykonywany).

Z pozytywnych rzeczy, wydaje się, że w wersji github Mono klasa CryptoConfig został zaktualizowany o tej własności, jak widać tutaj:

Current mono CryptoConfig.cs source, on master branch

To pokazuje zmiany powinny zostać uwzględnione w 2.10.9 wydaniu:

History of changes on mono's CryptoConfig.cs

Obiekt został dodany w dniu 2 maja 2011 roku, pełny rok temu AllowOnlyFipsAlgorithms, a mimo to nie jest w obecnej stajni wydanie!!! Co jest dziwne ...

Możesz spróbować pobrać wersję alfa (Mono 2.11.2) i zobaczyć, co to dla ciebie zrobi.

P.S. Przyjrzałem się źródłom wersji 2.11.2 alfa i wygląda na to, że ta właściwość jest zawarta w tej kompilacji, więc spróbuj. Mam nadzieję, że to pomoże.