我有一个解决方案,它由主应用程序MainProject
和几个插件项目Plugin1
等Plugin2
组成。它们中的每一个都构建在 Visual Studio 中的一个单独项目中。
为了构建解决方案,我希望将插件的所有文件复制到主应用程序的输出目录中。但我不想MainProject.exe
包含对插件 dll 的显式引用(它们是动态加载的)。因此定义项目引用MainProject
是行不通的。
我可以使用构建后步骤“手动”复制文件(如C# - Copy dlls to the exe output directory when using dependency injection without references? 中所述),但因为每个插件可能有多个文件,它们也会不时更改此解决方案的维护相当繁琐(特别是因为我确实有不同的构建配置,它们每个都生成不同的文件)。此外,我想轻松选择应该为某个构建复制哪些插件。
执行此操作的最佳方法是什么,可能涉及自定义 MSBuild 配置更改?