2017-02-13 67 views
1

在基於project.json的項目中,我能夠很容易地引用(源)nuget包中的文件。我只是將以下內容添加到project.json中,並且可以引用我的代碼中的類。即使代碼完成。在.NET Core中包含包的源文件MSBuild

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

現在我試圖遷移到基於的MSBuild工具(與工具版本1.0.0-rc4-004771),但我不能讓在的csproj文件的工作方式相同。

我已經添加了以下參考的csproj文件:

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

但添加的參考,在包中的資源(源文件)後仍然沒有找到。例如,在project.json項目中,我可以簡單地調用以下方法,該方法出現在包Microsoft.Extensions.Internal.DotnetToolDispatcher.IsDispatcher()中,但在我的.csproj項目中無法識別類(或方法等)。

我想我可能不得不明確地添加一個<Compile Include="x" />語句,但是我在include中寫什麼?我如何參考上面的包?

回答

2

此特定軟件包的1.0.0版本不支持MSBuild。它使用只能在project.json中工作的文件夾佈局。 MSBuild要求包含C#文件的包使用「contentFiles」特性。

有關更多詳細信息,請參閱以下鏈接。

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

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

+0

謝謝!我讀過它,但(不正確)認爲這是編譯時的事情。現有軟件包需要更新才能使用MSBuild重新工作。 –