首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nuget PackageReference的资产

Nuget PackageReference的资产
EN

Stack Overflow用户
提问于 2018-10-25 13:00:20
回答 1查看 489关注 0票数 0

我在一个项目中有这个包:

代码语言:javascript
复制
<PackageReference Include="Microsoft.CodeAnalysis" Version="2.8.2" />
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="1.1.0" />
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="2.8.2" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="2.8.2" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="2.8.2" />
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic" Version="2.8.2" />
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces" Version="2.8.2" />
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="2.8.2" />

我将这个.csproj文件移到了2017格式,然后,当我构建解决方案时,出现了一个错误:

错误CS0104:“项目”是“Microsoft.CodeAnalysis.Project”和“Some.Namespace.Project”之间的模糊引用

当然,这个错误是因为上面描述的一个包转移到父公共项目,并且与同名的类发生冲突。

我的问题是,我应该设置哪些资产(IncludeAssetsExcludeAssetsPrivateAssets)、价值以及在哪个包中?

现在,.csproj文件如下所示:

代码语言:javascript
复制
<PackageReference Include="Microsoft.CodeAnalysis" Version="2.8.2">
  <PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="1.1.0">
  <PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="2.8.2">
  <PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="2.8.2">
  <PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="2.8.2">
  <PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic" Version="2.8.2">
  <PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces" Version="2.8.2">
  <PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="2.8.2">
  <PrivateAssets>all</PrivateAssets>
</PackageReference>

但我认为这不是最好和准确的选择。

EN

回答 1

Stack Overflow用户

发布于 2018-10-25 13:16:41

这里最好的做法是创建一个全新的空白项目。引用2.8.2版本,然后将csproj文件中的内容与实际解决方案进行比较。删除实际解决方案中没有在虚拟文件中的引用。名称空间可能已经发生了变化,但至少在正确引用之后,名称空间就不会那么困难了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52989924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档