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.
- Tworzenie pustego rozwiązanie w Visual Studio 2015 Update 3
- Utwórz projekt typu Class Library (.NET rdzenia) nazwie ClassLibrary1
- Go w project.json i modyfikować aby wyglądał jak poniżej.
- Utwórz projekt typu Console Application(nie .NET rdzenia) o nazwie ConsoleApplication1
- prawym przyciskiem myszy w Odsyłacze pod ConsoleApplication1 i dodać ClassLibrary1 jako odniesienie Projektu.
- Odwołać się do typu istniejącego w ClassLibrary1.
- 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.
czy uczyniłeś ClassLibrary1 docelowym standardem netstandard1.2 w swoim project.json? – enzian
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
@enzian Tak, próbowałem bez powodzenia. – gretro