【发布时间】:2020-11-21 00:11:12
【问题描述】:
我最近注意到 VisualStudio 开始将我引用的程序集以及更多内容复制到构建目录中。
系统命名空间在我的输出目录中占用了大约 100 个文件,这非常烦人(例如 11x System.IO.XXX、10x System.Diagnostics.XXX、11x System.Net.XXX 等...)。不过,似乎没有其他 GAC 命名空间受到影响。
我没有为调试或发布配置设置任何构建后操作。哎呀,我什至没有在我的项目中引用所有这些(只有 7 个与系统相关的引用),并且所有这些都设置为不复制到我的输出目录中,除了 System.Threading.Tasks.Dataflow 因为它来自 NuGet,但是改变那个没有任何区别。
该项目也没有引用该解决方案中的任何其他项目,也许可以解释该行为,但使用一些 (10) NuGet-Packages。
我可以从哪里开始找出为什么 VS 认为有必要用所有这些垃圾来污染我的构建目录?因为当我删除所有那些不必要的文件时,程序运行得很好。
编辑:
项目是一个普通的 .NET 4.7 项目。按照评论建议将其升级到 4.7.1 确实有助于将混乱的文件从 100 个减少到大约 13 个。有什么办法可以摆脱这 13 个文件?
【问题讨论】:
-
它是 .NET Core 项目吗?
-
对于更新为面向 .NETStandard 的 Nuget 包往往会发生这种情况。将项目的目标框架版本更改为至少 4.7.1(隐含 VS2017)或使用旧版本的包。
-
它不是核心项目,只是4.7。将其更新到 4.7.1 确实将混乱减少到 13 个不必要的引用 - 看起来 Tasks.Dataflow 确实是一个 .NETStandard 库。有什么办法可以摆脱剩下的 13 个?如果不是,那么该评论基本上就是完整的答案。
标签: visual-studio