Pracuję w VS 2015 i F # 4.0 (4.4.0.0) przez dłuższy czas.Nie można rozwiązać zależności od złożenia FSharp.Core 4.4.1.0 podczas korzystania z VS 2017
Wraz z wydaniem VS 2017, chcę otworzyć rozwiązania w najnowszym VS do prac rozwojowych, ale jeszcze przez jakiś czas utrzymywać projekty jako VS 2015, F # 4.0, .NET 4.5.2. Serwer budujący będzie też musiał używać VS 2015 przez jakiś czas.
O ile pamiętam, tego rodzaju scenariusz nie był problematyczny we wcześniejszych wersjach wersji VS, ale nie sądzę, żebym użył F # w tym czasie.
Otworzyłem rozwiązanie i próbowałem skompilować. Otrzymuję ten błąd w projekcie aplikacji C#. (Istnieją inne aplikacje C#, a co najmniej jeden odwołuje się F # biblioteka.)
Nieznany błąd kompilacji 'Nie można rozwiązać zależność montażem' FSharp.Core, Version = 4.4.1.0, Culture = neutral, TokenKluczaPublicznego = b03f5f7f11d50a3a "ponieważ nie został wcześniej załadowany. Podczas korzystania z interfejsów API ReflectionOnly, zależne zespoły muszą być wstępnie załadowane lub załadowane na żądanie za pośrednictwem zdarzenia ReflectionOnlyAssemblyResolve.
Wszystkie moje projekty F # w rozwiązaniu to 4.0 (4.4.0.0). Sprawdziłem dwukrotnie.
Dlaczego tak się dzieje?
Powyższy problem dotyczył programu C#, który korzystał z bibliotek F #. Dzisiaj miałem podobny problem z programem F # przy użyciu F # 4.0.0.0 w VS 2017. Nie wystąpił błąd kompilacji, tylko powyższy błąd środowiska wykonawczego. Rozwiązałem go za pomocą bindingRedirect, jak wyjaśniono tutaj. Nie rozumiem, dlaczego tak się dzieje tylko w przypadku niektórych moich programów. –
Wygląda na to, że nie mogę sprawdzić wyrażeń podczas debugowania. Dodanie zegarka pokazuje błąd: błąd CS1705: Zgromadzenie "x" z identyfikacją "x" używa "FSharp.Core, wersja = 4.4.1.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a", który ma wyższą wersję niż zespół referencyjny "FSharp. Core "z tożsamością" FSharp.Core, wersja = 4.4.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a ' – Nuzzolilo
Awesome! To działało dla mnie jak urok. Dzięki! –