2017-02-13 2 views
1

In einem project.json-basierten Projekt konnte ich relativ leicht (Quell-) Dateien in einem nugget-Paket referenzieren. Ich habe gerade zu project.json hinzugefügt, und ich konnte die Klassen in meinem Code verweisen. Auch mit Code-Vervollständigung.Quelldateien des Pakets in .NET Core MSBuild einbinden

"dependencies": { 
    "Microsoft.Extensions.DotnetToolDispatcher.Sources": { 
    "type": "build", 
    "version": "1.0.0-*" 
    } 
} 

Jetzt habe ich versucht, auf die MSBuild basierten Werkzeuge (mit Werkzeug Version 1.0.0-rc4-004771) zu migrieren, aber ich kann die gleiche Arbeit in der csproj Datei nicht erhalten.

Ich habe den folgenden Verweis auf die csproj Datei hinzugefügt:

<ItemGroup> 
    <PackageReference Include="Microsoft.Extensions.DotnetToolDispatcher.Sources" Version="1.0.0" PrivateAssets="All" /> 
</ItemGroup> 

Aber nach dem Verweise hinzufügen, die Ressourcen (Quelldateien) in dem Paket sind noch nicht gefunden. Im Project.json-Projekt könnte ich zum Beispiel einfach die folgende Methode aufrufen, die im Paket vorhanden ist: Microsoft.Extensions.Internal.DotnetToolDispatcher.IsDispatcher(), aber die Klasse (oder Methode usw.) wird in meinem .csproj-Projekt nicht erkannt.

Ich denke, ich muss explizit eine <Compile Include="x" />-Anweisung hinzufügen, aber was schreibe ich in das Include? Wie referenziere ich das oben genannte Paket?

Antwort

2

Die 1.0.0-Version dieses bestimmten Pakets unterstützt MSBuild nicht. Es verwendet ein Ordnerlayout, das nur in project.json funktioniert. MSBuild erfordert, dass Pakete, die C# -Dateien enthalten, stattdessen die Funktion "contentFiles" verwenden.

Weitere Informationen finden Sie unter den folgenden Links.

https://docs.microsoft.com/en-us/nuget/schema/nuspec#including-content-files

https://github.com/dotnet/sdk/issues/236

+0

Dank! Ich habe darüber gelesen, dachte aber (fälschlicherweise), es sei eine Kompilierzeit. Irgendwie nervt es, dass bestehende Pakete aktualisiert werden müssen, damit sie wieder mit MSBuild funktionieren. –

Verwandte Themen