如何在消费应用中调用同名NuGet包WCFExtras与同名项目的类?
解决方法
1. 开启NuGet包的「复制本地」属性
- 右键你的WCFExtras类库项目 → 打开「管理NuGet程序包」
- 在「已安装」标签下选中WCFExtras包,右侧属性面板将「复制本地」设置为
True - 重新编译后,NuGet包的DLL会被复制到类库的输出目录
2. 直接给消费应用添加NuGet DLL引用
若上述方法无效,可手动操作:
- 找到NuGet包的本地存放路径(通常是
解决方案根目录\packages\WCFExtras.[版本号]\lib\对应框架版本) - 右键消费应用 → 添加引用 → 浏览选中该路径下的WCFExtras.dll,完成添加
3. 重命名自有类库项目(推荐)
同名项目和NuGet包容易引发编译冲突与命名混淆,直接将你的类库改名为类似WCFExtras.CustomExtensions的独特名称,编译后两个DLL会以不同文件名共存,消费应用引用类库时,NuGet包的DLL也会自动被引入
4. 编辑项目文件强制输出NuGet DLL
如果不想改名,可手动修改类库的.csproj文件,添加以下配置(替换为你的包版本和目标框架):
<ItemGroup> <Reference Include="WCFExtras"> <HintPath>..\packages\WCFExtras.1.0.0\lib\net472\WCFExtras.dll</HintPath> <Private>True</Private> </Reference> </ItemGroup>
此配置会强制NuGet包的DLL被复制到输出目录
内容的提问来源于stack exchange,提问作者Jeetu
相关产品推荐
相关产品推荐

