Obecnie tworzę aplikację komputerową w WPF, która korzysta z biblioteki .NET Core, aby ułatwić przenoszenie na różne platformy. Jednak nie mogę odwoływać się do biblioteki .NET Core z aplikacji WPF.Bibliotekę .NET Core 1.0 z pakietu WPF
Próbowałem follwing rozwiązania:
referencyjne projekt: Visual Studio narzeka projekt nie będąc .exe lub .dll, mimo że jest.
Odniesienie do skompilowanego pliku dll: To jest naprawdę brzydkie, ale wydaje się działać na początku. Intellisense jest w porządku, a projekt WPF kompiluje się dobrze. Ale gdy tylko chcę użyć jakiejkolwiek funkcjonalności z projektu .NET Core, generowany jest wyjątek BadImageFormatException.
projekt i odniesienie do pliku .nupkg: instaluje pakiet dodatkowych pakietów i generuje wyjątek BadImageFormatException, gdy używana jest jakakolwiek funkcjonalność.
Z tego co mogę zbierają istnieją dwie opcje tutaj:
- zrobić coś naprawdę hacky jak robienie projektu NET Rdzeń Console i zaliczenie wszystkich przedmiotów jako ciągi między tymi dwoma programami
Lub:
- Wystarczy zrezygnować z .NET Rdzenia i używać EF6.
Oto mój project.json:
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
"Microsoft.EntityFrameworkCore.Design": {
"version": "1.0.0-preview2-final",
"type": "build"
}
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"imports": "dnxcore50"
},
"dnx451": {}
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
}
}
Próbowałem zarówno dnx451
i net451
. Projekt WPF jest również ukierunkowany na .net 4.5.1. Używam "Visual Studio 2015 Update 3" z ".NET Core 1.0.1 VS 2015 Tooling Preview 2".
Przepraszamy za tak długi czas akceptacji, ale twoja odpowiedź działa dobrze, z wyjątkiem faktu, że 'dotnet ef' nie działa, jeśli nie emituję punktu wejścia. Sposób obejścia tego problemu jest dość prosty (wystarczy przywrócić linię), ale pomyślałem, że warto o tym wspomnieć. –
@AlexanderHoischen Ciekawe, nie widziałem tego wcześniej. –