在.NET核心MSBuild中包含包的源文件

在.NET核心MSBuild中包含包的源文件,msbuild,.net-core,Msbuild,.net Core,在基于project.json的项目中,我能够非常轻松地引用nuget包中的(源)文件。我刚刚将以下内容添加到project.json中,可以在代码中引用这些类。即使代码完成 "dependencies": { "Microsoft.Extensions.DotnetToolDispatcher.Sources": { "type": "build", "version": "1.0.0-*" } } 现在我尝试迁移到基于MSBuild的工具(使用工具版本1.0.0-r

在基于project.json的项目中,我能够非常轻松地引用nuget包中的(源)文件。我刚刚将以下内容添加到project.json中,可以在代码中引用这些类。即使代码完成

"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项目中无法识别该类(或方法等)


我想我可能必须显式地添加一个
语句,但是我应该在include中写什么呢?如何引用上面的包?

此特定包的1.0.0版本不支持MSBuild。它使用的文件夹布局仅在project.json中有效。MSBuild要求包含C#文件的包改用“contentFiles”功能

有关更多详细信息,请参阅以下链接

谢谢!我读过,但(错误地)认为这是编译时的事情。现有的包必须更新,这样才能与MSBuild一起工作,这有点糟糕。