2016-05-31 2 views
3

Ich habe vier Bibliotheksprojekte, die alle auf das netstandard1.5 Framework ausgerichtet sind. Einige von ihnen hängen von den anderen ab, und unter diesen vier Projekten funktioniert das Intellisense gut.Wie repariert man Intellisense mit referenzierten Bibliotheks-Projekten von netstandard1.5 in Visual Studio 2015?

Ich versuche, diese Bibliotheken in meinem Projekt ASP.NET netcoreapp1.0 zu verwenden. Aber wenn ich auf das netcoreapp1.0 Framework abziele, werden die Typen nicht gefunden (im Visual Studio rot umrandet). Das Projekt wird kompiliert und läuft erfolgreich.

Sobald ich auf das netstandard1.5 Framework innerhalb meiner Web-API umschalte, werden die Typen der Bibliotheken erkannt und ich bekomme Intellisense.

Irgendwelche Ideen, wie man das behebt oder was ich falsch mache? Hier

ist die project.json für eine der Bibliotheksprojekte (sie sind fast identisch):

{ 
    "version": "1.0.0-*", 

    "frameworks": { 
    "netstandard1.5": { 
     "imports": [ "dnxcore50", "portable-net45+win8" ], 
     "dependencies": { 
     "NETStandard.Library": "1.5.0-rc2-24027", 

     "System.Security.Principal": "4.0.1-rc2-24027" 
     } 
    } 
    }, 
    "dependencies": { 
    "Microsoft.AspNetCore.Identity": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", 
    "HoehenSucht.Models": "1.0.0-*", 
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027" 
    } 
} 

Und hier ist die project.json der api:

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "emitEntryPoint": true 
    }, 
    "dependencies": { 
    "HoehenSucht.Framework": "1.0.0-*", 
    "HoehenSucht.Models": "1.0.0-*", 
    "HoehenSucht.Repositories": "1.0.0-*", 
    "HoehenSucht.Services": "1.0.0-*", 
    "HoehenSucht.Authentication": "1.0.0-*", 
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Configuration": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final", 
    "Autofac.Extensions.DependencyInjection": "4.0.0-rc2-240", 
    "AutoMapper": "4.2.1", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final", 
    "System.Security.Principal": "4.0.1-rc2-24027", 
    "System.Reflection": "4.1.0-rc2-24027", 
    "IdentityServer4.AccessTokenValidation": "1.0.0-beta6", 
    "Microsoft.AspNetCore.Authorization": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Hosting": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview1-final", 
    "Autofac": "4.0.0-rc2-240", 
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0-rc2-final", 
    "HoehenSucht.API.Models": "1.0.0-*", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final", 
    "System.Linq": "4.1.0-rc2-24027", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final", 
    "System.Linq.Parallel": "4.0.1-rc2-24027", 
    }, 
    "frameworks": { 
    "netcoreapp1.0": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.0.0-*" 
     }, 
     "System.Collections": "4.0.11-rc2-24027", 
     }, 
     "imports": [ "dnxcore50", "portable-net45+win8" ] 
    } 
    }, 
    "tools": { 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "version": "1.0.0-preview1-final", 
     "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    } 
} 
+0

Haben Sie Pakete wiederhergestellt, nachdem Sie das Framework geändert haben? – svick

+0

Ich weiß nicht, wie oft ich das wiederholen soll, aber vermische keine RC1 und RC2 Pakete !!!! '" Microsoft.VisualStudio.Web.BrowserLink.Loader ":" 14.0.0-rc1-final "' – Tseng

+0

Ich habe das Paket entfernt, bekomme aber immer noch den gleichen "Fehler". Habe auch danach einen sauberen Umbau gemacht. Es wurde auch eine 'dotnet restore' im Solution-Root- und Projekt-Root durchgeführt. – Silthus

Antwort

4

ReSharper ist das Problem hier nicht Visual Studio

http://blog.jetbrains.com/dotnet/2016/05/27/resharper-ultimate-2016-2-eap-kicks-off/

erste Unterstützung von ASP.NET-Core 1.0 RC2, für Tag Helfer in Bezug auf die Code-Vervollständigung, Navigation, Suche und Refactorings einschließlich der Unterstützung. Zu diesem Zeitpunkt werden ASP.NET Core-Webanwendungen unterstützt, wenn sie auf .NET Framework ausgerichtet sind, aber nicht unterstützt werden, wenn sie Targeting .NET Core sind. Wir versuchen, dies in späteren Builds zu verbessern.

Wenn Sie also eine Bibliothek Targeting .netstandard1.5 ReSharper haben nicht richtig intellisense Informationen angezeigt werden, aber das Projekt kompilieren.

Wenn Sie jedoch das .netcoreapp1.0 Framework als zusätzliches Framework zu der project.json Datei hinzufügen, wird Resharper funktionieren und Sie erhalten volle Intellisense-Unterstützung.

frameworks": { 
    "netstandard1.5": { 
     "imports": [ "dnxcore50", "portable-net45+win8" ], 
     "dependencies": { 
     "NETStandard.Library": "1.5.0-rc2-24027", 

     "System.Security.Principal": "4.0.1-rc2-24027" 
     } 
    }, 
    ".netcoreapp1.0": { 
     "imports": [ "dnxcore50", "portable-net45+win8" ] 
    } 
}, 
+0

Seltsamerweise funktioniert das auch bei VS 2017 Preview mit netstandard2.0 Bibliotheken. Nach dem Hinzufügen des zweiten Zielframeworks (coreapp) zu csproj in der Bibliothek netstandard2.0 zeigt Resharper alle Abhängigkeiten/intellisense korrekt ' netcoreapp2.0' ' netstandard2.0' – Algirdas