是否有可能使Visual Studio将所有已引用项目的依赖项复制到输出路径中?
示例
在解决方案中,Project A(.NET Standard库)定义了一些函数,并依赖于Library L1(通过NuGet)和Library L2(本地.dll
,被引用并复制到项目中)
Project B(控制台应用程序)引用Project A。
构建B时,输出文件夹包含B的所有直接依赖项和A.dll
。 L1和L2在输出中不可用。 因此,程序无法正常工作。
如何强制VS也将L1和L2复制到B的输出中?
我迄今为止找到的唯一方法是将A打包为NuGet,但这似乎是不必要的开销和不舒适的。 我想我只是忘记了其他人似乎都知道的事情...
编辑(澄清示例)
我的解决方案由两个项目组成。
Project MongoWrapper
- .NET Standard 2.0类库
- 依赖于NuGet MongoDB.Driver软件包
- 实际上使用此依赖项(无僵尸依赖项)
Project ConsoleUser
- .Net Framework 4.6.1控制台应用程序
- 引用MongoWrapper项目
- 实际上使用MongoWrapper
观察
在调试ConsoleUser
应用程序时,它会编译并启动。 在运行时,当它调用MongoWrapper
中使用MongoDB.Driver的方法时,应用程序崩溃,因为MongoDB.Driver依赖项未复制到ConsoleUser
的输出文件夹中。
如何解决此问题?