2016-07-15 18 views
6

Próbuję podzielić mój projekt .NET Core na osobne wątki przy użyciu Class Librairies. Chcę jednej (lub wielu) bibliotek klas i jednego projektu hosta. Biblioteki klasy określają kontrolery MVC i logikę biznesową, podczas gdy projekt główny będzie odpowiedzialny za zapewnienie działającego hosta. Niestety, odniesienie do projektu nie działa.Nie można odwołać się do projektu Biblioteki klasy głównej .NET z pełnego projektu .NET

Pozwól, że dam ci kroki, które podjąłem, aby dotrzeć do tego problemu.

  1. Tworzenie pustego rozwiązanie w Visual Studio 2015 Update 3
  2. Utwórz projekt typu Class Library (.NET rdzenia) nazwie ClassLibrary1
  3. Go w project.json i modyfikować aby wyglądał jak poniżej.
  4. Utwórz projekt typu Console Application(nie .NET rdzenia) o nazwie ConsoleApplication1
  5. prawym przyciskiem myszy w Odsyłacze pod ConsoleApplication1 i dodać ClassLibrary1 jako odniesienie Projektu.
  6. Odwołać się do typu istniejącego w ClassLibrary1.
  7. Zbuduj rozwiązanie.

To doprowadzi niepowodzenie kompilacji w ConsoleApplication1 projektu z CS0246 Kod błędu: The type or namespace name 'ClassLibrary1' could not be found (are you missing a using directive or an assembly reference?). Jeśli zamiast dodawać odniesienie jako Project idąc i przeglądając folder bin i odsyłając bezpośrednio dll, wszystko buduje się bez problemu. Nie jest to jednak rozwiązanie, ponieważ cel kompilacji może się zmienić, więc ścieżka również się zmieni.

Kod project.json:

{ 
    "version": "1.0.0-*", 

    "dependencies": { 

    }, 

    "frameworks": { 
    "net452": { 
    } 
    } 
} 

Czy to jest Visual Studio bug, czy robię coś źle? Próbowałem użyć: netstandard1.2, net452, ale wynik pozostaje taki sam.

EDIT Utworzono błąd w repozytorium Github .NET CLI. Oto link: https://github.com/dotnet/cli/issues/3926.

+0

czy uczyniłeś ClassLibrary1 docelowym standardem netstandard1.2 w swoim project.json? – enzian

+0

ten sam problem z tym http://stackoverflow.com/questions/38148128/how-do-i-reference-a-net-framework-project-in-a-net-core-project?rq=1? – kurakura88

+0

@enzian Tak, próbowałem bez powodzenia. – gretro

Odpowiedz

1

Miałem podobny problem z Microsoft.NETCore 5.0.1 w PCL. Nie znaleziono nawet System.Object.

Próbowałem obniżyć do wersji 5.0.0 i to rozwiązało dla mnie.

+0

Jaka jest twoja analiza podstawowego problemu i jak twoja sugestia jest rozwiązaniem tego problemu? –

+0

Używam biblioteki SAME, a obecna wersja na NuGet daje mi mnóstwo błędów PODOBNYCH (nie można znaleźć XYZ). Jest najwyraźniej zepsuty. Downgrading rozwiązał to dla mnie. –

+0

Nie mam pojęcia, co powoduje te błędy (nie mają dla mnie żadnego sensu), tak jak je rozwiązałem. Nie powinienem tego udostępnić? Mam całkowitą stratę, czego ode mnie oczekujesz. EDYTOWANIE: Oczywiście po prostu usuń to, co napisałeś. –

Powiązane problemy