You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#项目中PackageId引发项目引用警告问题

问题:使用$(SolutionDir)引用Git子模块内项目时,PackageId引发引用警告

在Visual Studio解决方案中,通过$(SolutionDir)引用Git子模块目录下的项目时,被引用项目的.csproj文件里的PackageId属性会导致引用列表出现黄色警告。移除该PackageId配置后,警告就会消失,这个问题在Git子模块场景下可以稳定复现。

复现步骤

  • 创建空的Visual Studio解决方案
  • 在解决方案根目录下新建Submodule文件夹,并在解决方案中添加对应的解决方案文件夹
  • 在Submodule文件夹内创建类库项目ProjectA
  • 在解决方案根目录创建类库项目ProjectB,通过$(SolutionDir)\Submodule\ProjectA\ProjectA.csproj路径添加对ProjectA的项目引用
  • 为ProjectA安装NLog NuGet包(版本5.2.8),此时ProjectB的引用列表中ProjectA会出现黄色警告
  • 注释ProjectA.csproj中的PackageId配置行,警告随即消失

相关项目配置代码

ProjectA.csproj

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Title>Console Infra</Title>
<Version>2.0.491</Version>
<Company>Company</Company>
<Copyright>Copyright © Company 2020</Copyright>
<AssemblyVersion>2.0.491</AssemblyVersion>
<Authors>Author</Authors>
<Product>Console Infra</Product>
<PackageId>Console Infra</PackageId> <!-- 此配置会引发警告 -->
</PropertyGroup>

  <ItemGroup>
<PackageReference Include="NLog" Version="5.2.8" />
</ItemGroup>

</Project>

ProjectB.csproj

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Title>Console Module</Title>
<Version>2.0.217</Version>
<Company>Company</Company>
<Copyright>Copyright © Company 2020</Copyright>
<AssemblyVersion>2.0.217</AssemblyVersion>
<Authors>Sedecal</Authors>
<Product>Console Module</Product>
<PackageId>Console Module</PackageId>
</PropertyGroup>

  <ItemGroup>
<ProjectReference Include="$(SolutionDir)\Submodule\ProjectA\ProjectA.csproj" />
</ItemGroup>

</Project>

临时解决办法

移除被引用项目(如上述ProjectA)中的PackageId属性配置,即可消除该黄色警告。

内容的提问来源于stack exchange,提问作者JuanDYB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 13:41:13