2017-02-24 21 views
8

Mam projekt (x) skierowany do biblioteki NetStandard.Library 2.0 i aplikacji konsolowej, która jest przeznaczona dla netcoreapp2.0.netcoreapp2.0 z netstandard2.0

<Project Sdk="Microsoft.NET.Sdk.Web"> 
    <PropertyGroup> 
    <TargetFramework>netcoreapp2.0</TargetFramework> 
    </PropertyGroup> 

    <PropertyGroup> 
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback> 
    </PropertyGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" /> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" /> 
    <PackageReference Include="NETStandard.Library" Version="2.0.0-beta-25021-01" /> 
    <PackageReference Update="Microsoft.NETCore.App" Version="2.0.0-beta-001588-00" /> 
    </ItemGroup> 
    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0-msbuild3-final" /> 
    </ItemGroup> 
    <ItemGroup> 
    <ProjectReference Include="..\x.csproj" /> 
    </ItemGroup> 

</Project> 

Project X:

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
    <TargetFramework>netstandard2.0</TargetFramework> 
    </PropertyGroup> 

    <ItemGroup> 
    <PackageReference Include="Microsoft.Extensions.Logging" Version="1.1.0" /> 
    </ItemGroup> 


    <ItemGroup> 
    <PackageReference Update="NETStandard.Library" Version="2.0.0-beta-25017-01" /> 
    </ItemGroup> 
</Project> 

Kiedy skompilować aplikację konsoli otrzymuję błąd:

Projekt X nie jest kompatybilny z netcoreapp2.0 (.NETCoreApp, Version = v2.0)/win-x86. Projekt x obsługuje: netstandard2.0 (.NETStandard, wersja = v2.0)

Zainstalowałem: Środowisko sieciowe Microsoft 2.0.0 runtime znajdujące się tutaj: https://github.com/dotnet/core-setup, ale nadal nie buduje.

* Edytowane następujące porady poniżej: Zainstalowałem zestaw SDK Alpha zlokalizowany tutaj: https://github.com/dotnet/cli/tree/master#installers-and-binaries i nadal mam ten sam błąd.

enter image description here

Interesującą rzeczą jest to, że istnieje Nuget odniesienia pakiet dla Microsoft.NETCore.App których nie można usunąć: enter image description here

+2

Nie ma jeszcze podglądu. Nie próbuj, chyba że jesteś gotowy na naukę z kodu i jego repozytoriów GitHub. –

+0

.. \ x.csproj ... Czy projekt X nie zawiera wszystkich źródeł z projektu internetowego? – Thomas

+0

@CodeJunkie i dlatego zostawiłem komentarz. Kiedy coś się gotuje, nie ma konkretnej odpowiedzi. –

Odpowiedz

5

.NET Core 2.0 będzie wymagać zestawu SDK .NET Core 2.0. Pobierz linki do klubów nocnych dostępnych tutaj: https://github.com/dotnet/cli/tree/master#installers-and-binaries

Heads up: nocne kompilacje tego są bardzo niestabilne teraz. Od lutego 2017 r. Platforma .NET Core 2.0 nie jest publicznie dostępna. Zamówienie https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/dogfooding.md, aby uzyskać instrukcje na temat korzystania z nocnych nocników.

+0

Zainstalowałem SDK v 2.0.0 alpha i odinstalowałem wszystkie inne wersje, ale nadal widzę ten sam błąd: 10> C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.NET.Sdk.Common.targets (63,5): error: Projekt 'D: \ x.csproj' target '.NETStandard, Version = v2.0'. Nie można się do niego odwoływać przez projekt, który jest ukierunkowany na ".NETCoreApp, Version = v2.0". –

+0

Na razie można budować tylko z wiersza poleceń za pomocą dotnet.exe. VS nie używa programu dotnet.exe do kompilacji. Wsparcie dla wersji 2.0 nie zostało jeszcze wbudowane w VS 2017. Bardziej szczegółowo opisałem to ograniczenie: http://www.natemcmaster.com/blog/2017/02/01/project-json-to-csproj-part2/ Przeczytaj sekcję o VS vs dotnet.exe – natemcmaster

+0

Dzięki za komentarz. Podczas budowania z wiersza polecenia otrzymuję następujący błąd: –

0

Rdzeń .NET 2.0 nie znajduje się na stronie Download i jest spodziewane wydanie w Q2 2017 on the roadmap.

Powinieneś teraz używać .NET Core 1.1 i docelowego .NET Standard 1.6.

I tak: musisz pobrać SDK, jeśli chcesz się rozwijać.