Msbuild 无法使用MSTest.TestAdapter和MSTest.Testframework包进行编译

Msbuild 无法使用MSTest.TestAdapter和MSTest.Testframework包进行编译,msbuild,.net-core,nuget,Msbuild,.net Core,Nuget,我希望将我们的一些测试项目升级为MSBuild SDK格式。添加了对Nuget包MSTest.TestAdapter和MSTest.TestFramework的引用。当我试图编译时,我得到以下错误 C:\程序 Files\dotnet\sdk\2.1.300\Sdks\NuGet.Build.Tasks.Pack\Build\NuGet.Build.Tasks.Pack.targets(198,5): 错误NU5100:程序集失败 'content\Microsoft.VisualStudio.

我希望将我们的一些测试项目升级为MSBuild SDK格式。添加了对Nuget包MSTest.TestAdapter和MSTest.TestFramework的引用。当我试图编译时,我得到以下错误

C:\程序 Files\dotnet\sdk\2.1.300\Sdks\NuGet.Build.Tasks.Pack\Build\NuGet.Build.Tasks.Pack.targets(198,5): 错误NU5100:程序集失败 'content\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll' 不在“lib”文件夹中,因此不会将其添加为 将包安装到项目中时的引用。移入 需要引用的“lib”文件夹

编辑: 只有当我在我的机器上更新到最新的.Net内核时,这种情况才会发生。对于早期的verison(2.1.104),这只显示为警告

C:\程序 Files\dotnet\sdk\2.1.104\Sdks\NuGet.Build.Tasks.Pack\Build\NuGet.Build.Tasks.Pack.targets(194,5): 警告:说明:程序集已损坏 'contentFiles\any\net45\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll' 不在“lib”文件夹中,因此不会将其添加为 将包安装到项目中时的引用


关于如何解决这个问题有什么想法吗?

我可以通过将MSTest.TestAdapter的ExcludeAssets属性设置为true来解决这个问题。这就是我的项目文件最终的样子

<PackageReference Include="MSTest.TestAdapter" Version="1.2.1">
  <ExcludeAssets>all</ExcludeAssets>
</PackageReference>

全部的

您是否尝试将NU5100添加到忽略的警告列表中?您还需要打包项目吗?如果他们是测试项目,我想知道为什么他们要创建一个NuGet包,因为似乎正在调用包目标。当它是一个警告时,我们可以忽略它。它现在显示为错误。是否尝试将其添加到忽略的警告列表中?或者在项目中将警告视为错误设置为true?或者,这可能是NuGet最新版本的一个变化。