(podtytuł Pytanie: Czy zasoby nie są obsługiwane w .netstandard 1.3
lub jest mój plik projektu tylko pomieszane?)Dlaczego nie mogę korzystać z zasobów osadzonych (resx) podczas kierowania na .netstandard 1.3?
właśnie utworzona przykład przenośny klasy biblioteki w Visual Studio 2015 Update 3 i dodaje przykładowy plik zasobów. Początkowo plik project.json
wygląda następująco:
{
"supports": {
"net46.app": {},
"uwp.10.0.app": {},
"dnxcore50.app": {}
},
"dependencies": {
"Microsoft.NETCore": "5.0.0",
"Microsoft.NETCore.Portable.Compatibility": "1.0.0"
},
"frameworks": {
"dotnet": {
"imports": "portable-net452+win81"
}
}
}
dobrze: Nie skompilować błędy!
Następnie użyłem właściwości projektu, aby kierować reklamy na numer .NETStandard 1.3
.
Teraz project.json
wygląda następująco:
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.3": {}
}
}
Teraz pojawia się następujący budować błąd - co oznacza w zasadzie działania build EmbeddedRessource
nie jest obsługiwany:
Naprawdę nie jestem ekspertem z project.json
, ale dla mnie rzeczy wyglądają niekonsekwentnie - i nie mam pojęcia, gdzie jest problem.
- w pierwszym
project.json
: jeśli popieramnet46
, dlaczego jest importowanienet452
? - w drugim
project.json
: jeśli używamnetstandard1.3
, dlaczego istnieje zależność od biblioteki w wersji1.6
? - i wreszcie, co to jest
.NETPortable, Version=v5.0
? Zmiana nazwy na.NET Core
miała miejsce na początku tego roku - dlaczego wciąż odwołujemy się do wersji5.0
? Nawet MSDN nie wie<TargetFrameworkVersion>5.0</TargetFrameworkVersion>
, który jest określony wcsproj
Dla mnie to wydaje się netstandard
jest nie tylko o dostępnych bibliotek, oprzyrządowanie wydaje się zaangażowany, too. Ale to nie wyjaśnia, dlaczego zadziałało dla dnxcore50
.
podejrzewam, że ma to coś wspólnego z faktem, że aplikacje uniwersalne okna nie wykorzystać 'RESX 'pliki. Ale: uniwersalne aplikacje Windows są kompatybilne z 'netstandardem 1.4' i wyższym ... – ventiseis
masz rację co do części resx, ale UWP są faktycznie kompatybilne z' netstandard1.4' i niżej nie. – nawfal
Masz rację, spojrzałem na [matrycę] (https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md) i źle zrozumiał strzały. Ale jest tam nawet napisane: Jeśli biblioteka jest przeznaczona dla platformy .NET Platform Standard w wersji 1.3, może działać tylko na platformie .NET Framework 4.6 lub nowszej, .NET Core, Universal Windows Platform 10 (UWP) i platformach Mono/Xamarin._ – ventiseis