我有一个C#项目A,它使用一个.net包装器DLL和一个本地DLL。我将.NET包装器DLL添加到项目A的引用列表中。由于包装器DLL只在与本地DLL位于同一文件夹时才能正常工作,因此应将本地DLL复制到项目A的输出目录中。我通过将本地DLL添加为项目A下的内容文件并将其复制操作设置为“仅在更新时复制”来实现这一点。这很好。
如果C#项目B直接引用项目A,则VS将复制项目A使用的所有依赖文件到项目B的输出目录中。这意味着包装器DLL和本地DLL也将被复制到项目B的输出目录中。这也很好。
然后我有另一个C#项目C,它仅直接引用项目B,而不是项目A。有趣的是,VS不会将本地DLL复制到项目C的输出目录中,否则当项目C使用项目B的功能并寻找本地DLL以与包装器DLL配合使用时,它将找不到。
有人能解释一下为什么VS不会将本地DLL复制到项目C的输出目录中吗?VS中复制链依赖文件的机制是什么?非常感谢。
如果C#项目B直接引用项目A,则VS将复制项目A使用的所有依赖文件到项目B的输出目录中。这意味着包装器DLL和本地DLL也将被复制到项目B的输出目录中。这也很好。
然后我有另一个C#项目C,它仅直接引用项目B,而不是项目A。有趣的是,VS不会将本地DLL复制到项目C的输出目录中,否则当项目C使用项目B的功能并寻找本地DLL以与包装器DLL配合使用时,它将找不到。
有人能解释一下为什么VS不会将本地DLL复制到项目C的输出目录中吗?VS中复制链依赖文件的机制是什么?非常感谢。