Reference 未复制MSBuild引用

Reference 未复制MSBuild引用,reference,msbuild,Reference,Msbuild,请考虑以下设置: ProjectA References Foo Bar ProjectA在他的代码中只使用对Foo的静态引用,而不是Bar,这一个仅通过反射打开 然后我们有ProjectB ProjectB References ProjectA 使用MSBuild编译此文件将在ProjectB的输出文件夹中生成ProjectA.dll和Foo.dll 但是,有没有一种方法可以告诉MSBuild(VS在默认情况下似乎会这样做)

请考虑以下设置:

ProjectA
    References
        Foo
        Bar
ProjectA在他的代码中只使用对Foo的静态引用,而不是Bar,这一个仅通过反射打开

然后我们有ProjectB

ProjectB
    References
        ProjectA
使用MSBuild编译此文件将在ProjectB的输出文件夹中生成ProjectA.dll和Foo.dll


但是,有没有一种方法可以告诉MSBuild(VS在默认情况下似乎会这样做)我也需要Bar.dll,而无需将Bar添加到ProjectB的引用中?

几天前我遇到了同样的问题。我找到的解决方案是创建一个虚拟类,用于实例化ProjectA中Bar中的对象。这将生成Bar.dll。我不知道Msbuild为什么会这样工作,但它确实如此。有人知道更好的解决方案吗