Składanie w trybie mieszanym jest oparte na wersji „2.0.50727” środowiska wykonawczego i nie można go załadować w środowisku wykonawczym 4.0
Używam Visual Studio 2012 i .Net Framework 4.5 Mam 2 rozwiązania: 1) Aplikacja WPF 2) Biblioteka klas (dll)
Biblioteka klas zawiera 3 przyciski i kontrolkę, która musi znajdować się w kontrolce WindosFormsHost, ponieważ została utworzona dla WinForm.
Jedyne zespoły, do których istnieją odwołania poza programami .NET Framework, to wspomniane kontrolki winform i iTextSharp.
Kontrolka WinForm wydaje się być stara i kiedy umieściłem referencję w moim dll, otrzymałem ten sam błąd co tytuł, ale po innych pytaniach / odpowiedziach SO, umieściłem to w moim pliku konfiguracyjnym:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
Błąd:
Montaż w trybie mieszanym jest zbudowany w stosunku do wersji „v2.0.50727” środowiska wykonawczego i nie można go załadować w środowisku wykonawczym 4.0 bez dodatkowych informacji o konfiguracji
Jak już wspomniałem, widziałem pytania publikujące ten problem, a oni rozwiązali problem w moim projekcie DLL, ale w projekcie przy użyciu tej biblioteki DLL próbowałem ich wszystkich bezskutecznie. Na przykład:
Jaka „dodatkowa konfiguracja” jest niezbędna, aby odwołać się do zespołu mieszanego .NET 2.0 w projekcie .NET 4.0?Montaż w trybie mieszanym jest zbudowany w stosunku do wersji „v2.0.50727 ′ środowiska wykonawczegoCo robi „useLegacyV2RuntimeActivationPolicy” w konfiguracji .NET 4?Zespół w trybie mieszanym jest zbudowany w stosunku do wersji „v2.0.50727” środowiska wykonawczego i nie można go załadować w środowisku wykonawczym 4.0Montaż w trybie mieszanym jest zbudowany w stosunku do wersji X i nie można go załadować w wersji Y środowiska wykonawczego bez dodatkowych informacji o konfiguracjiW tym projekcie mój plik konfiguracyjny ma dokładnie te same znaczniki o tych samych wartościach.
Również, aby zauważyć, w mojej aplikacji WPF, na początku otrzymywałem błąd, że nie jest w stanie znaleźć określonej biblioteki DLL (dla kontrolki WinForm), w końcu umieściłem dll tej kontrolki w GAC.
Próbowałem zmienić strukturę docelową dla wszystkich możliwości (4.5, 4.0 pełna i klienta, 3.5 pełna i klienta, 3.0 i 2.0), budując bibliotekę DLL w debugowaniu i wydaniu oraz ustawiając „Generuj zespół serializacji” na OFF, również , zmienił cel platformy z dowolnego CPU na x86 i x64. Próbowałem tylko zmieniać wartość jednego ustawienia na raz.
Czy jest to problem w VS2012 lub co muszę zrobić, aby rozwiązać ten problem?
EDYTOWAĆ:
Powyższy błąd jest wyświetlany w czasie projektowania na liście błędów, projektant pokazuje błąd „Nie można utworzyć instancji„ moja_klasa ””
Wewnętrzny wyjątek tego mówi: „Set connectionId rzucił wyjątek”, a wewnętrznym wyjątkiem jest komunikat tytułowy.
Wciąż pozwala to na zbudowanie rozwiązania, a po uruchomieniu aplikacji otrzymuję zasadniczo to samo, z tym wyjątkiem, że najbardziej wewnętrzny wyjątek mówi:
„Nie można załadować pliku lub złożenia” SigPlusNET, Version = 1.1.3358.14336, Culture = neutral, PublicKeyToken = 6aef07010bb0624f ”lub jedną z jego zależności. Podjęto próbę załadowania programu o niepoprawnym formacie.”
To jest zestaw kontrolny winForms, po sprawdzeniu przez dotPeek, jedynymi związanymi z nim zależnościami są .NET Framework