Visual Studio 2026中NuGet包嵌入EXE后未正常输出的问题
NuGet包含EXE但未出现在输出目录的问题排查
问题现象
- 生产环境:安装NuGet包后构建报错,提示NuGet缓存解压后的包的
lib文件夹内不存在目标EXE - 测试环境:无构建错误,但消费项目的构建输出目录中找不到该EXE
环境与项目结构
- 开发环境:Visual Studio 2026、C#
- 项目组成:
- WorkerProcess:生成待分发的EXE文件
- MyLibrary:类库项目,最终打包为NuGet包
- TestStub:用于测试的NuGet包消费项目
- 测试配置:将Visual Studio指向本地库输出目录作为NuGet源
当前配置细节
- WorkerProcess通过构建后事件将自身输出文件复制到MyLibrary项目目录下
- MyLibrary项目文件中将WorkerProcess相关文件标记为
Content类型,并配置了打包属性
已尝试的方案
- 单独将WorkerProcess打包为NuGet包,但生成的包仅包含DLL文件;尝试强制嵌入EXE时触发其他异常问题
已取得的进展
在MyLibrary项目文件中添加配置<PackageCopyToOutput>True</PackageCopyToOutput>后,测试环境下消费项目的构建输出目录已能正常出现目标EXE,但生产环境中NuGet缓存包的lib文件夹缺失EXE的问题仍未解决
内容的提问来源于stack exchange,提问作者manderson




