我有两个解决方案,即解决方案A和解决方案B.
我从解决方案A编译了一个DLL并将其复制到解决方案B中的一个文件夹中。然后我在解决方案B中的项目中引用了该DLL。没有复制任何PDB文件。
当我在调试时,我能够介入DLL中引用解决方案A的代码。它打开源文件,路径与解决方案A的文件夹完全相同(即C:\ Work \解决方案A \ SomeFile.cs)
视觉工作室如何知道这一点?
答案 0 :(得分:0)
如果你看,你的项目没有告诉它是在某个DLL中。所以你编译,它最终链接到你未解决的符号。这实际上是预期的。当DLL是解决方案的一部分时,它会通过 链接依赖库 自动执行。
构建DLL时,您应该注意到扩展名为.lib的文件。这是你的标签。如果将它作为链接器输入添加到项目中,那么项目将找到DLL中定义的符号并正确编译。
请看一下这个链接:https://msdn.microsoft.com/en-us/library/1ez7dh12.aspx