Mam poważne problemy z ładowaniem przenośnej biblioteki .NET (do użycia w standardowym środowisku .NET i Silverlight) ze skryptu w języku Python.Jak załadować przenośną bibliotekę .NET w skrypcie Iron Python?
. Wersja pliku DLL w wersji 4.0.3.319.233 (System.Core.DLL), IronPython to 2.7.1, działa w trybie 32bit/x86. Visual Studio 2010 z C# w .NET 4. Zainstalowana jest także aktualizacja Microsoft .NET KB2468871 dla biblioteki przenośnej (wersja 2).
Gdy próbuję załadować biblioteki ze skryptu Pythona:
clr.AddReferenceToFileAndPath(UsedPath+"\\MyNamespace\\MyPortableLibrary.dll")
nie mogą być dostępne, a gdy ten skrypt osiąga typ, to mówi: „atrybut [typ przenośnego w zespole ] 'namespace #' jest tylko do odczytu " wskazując, że zestaw nie został załadowany w ogóle (lub jako Silverlight i nie może być używany przez skrypt Python).
Zmiana kodu do: (klasy Assembly z System.Reflection)
PortableAssembly = Assembly.LoadFrom(UsedPath+"\\MyNamespace\\MyPortableLibrary.dll") # load through .NET Reflection, Python won't load Portable assembly properly!
clr.AddReference(PortableAssembly)
powoduje błąd: Wystąpił exceptions.IOError Wiadomość: [ERRNO 2] Nie można załadować pliku lub zestawu „system .Core, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes 'lub jedna z jego zależności. System nie może odnaleźć określonego pliku.
Ostatni kod wydaje się działać, gdy skrypt w języku Python jest wywoływany automatycznie z poziomu innego programu .NET, tworząc instancję własnego silnika Python, ale podaje powyższy błąd, gdy skrypt jest wykonywany z projektu Python w Visual Studio. Ustawienia Pythona w VisualStudio, Tools \ Options \ Python Tools \ Interpreter Options są dla trybu x86/32bit. Wszystkie parametry środowiska pokazują, że .NET 4 jest używany.
Mam wiele sposobów, aby rozwiązać ten problem z silnika Pythona wygenerowanego w języku C#/.NET, ale jak mogę załadować przenośny zespół w podstawowe środowisko wykonawcze IronPython, aby działał w poprawnym środowisku .NET 4 , nie próbując załadować żadnych rzeczy .NET 2?
Aktualizacja: Po aktualizacji MS KB2468871 zrestartowałem i przebudowałem moją bibliotekę przenośną, a także odinstalowałem narzędzia IronPython i Python dla VS, zastępując je wersjami 2.7.3 i 1.5 (VS2010). Błąd z "System.Core, wersja = 2.0.5.0" nadal występuje.
Czy znalazłeś rozwiązanie tego problemu? Mam do czynienia z tym od 2 dni i nie mogę go uruchomić. –