我有一个包含 2 个项目的解决方案...
项目 A 有以下内容 A - 引用第三方 DLL(其中有一个名为“响应”的类) B - 使用上述 DLL 并从名为“GetResponse”的方法返回“Response”对象的类
现在项目 B 像这样从项目 A 调用类......
Response r = ProjectA.Class.GetResponse();
这将返回错误,因为我的项目 B 中没有“第三方”引用。
我宁愿不将我的第三方 DLL 发送到我的所有其他项目,只是为了从第三方 DLL 获取对 Response 对象的引用。
那么有没有办法在不必将第 3 方引用添加到项目 B 的情况下做到这一点?
最佳答案
如果您的项目正在使用第三方 DLL 中定义的对象,则也必须直接引用它。
如果您想避免这种情况,您可以将 Response
对象包装在项目 B 中定义的自定义对象中,创建方法和属性以公开 Response
上的任何必要内容类(class)。请记住,您不能直接公开 Response
类,否则将再次需要直接引用。
当然,即使使用包装,在部署最终 DLL 时,仍然需要第三方 DLL,只是不需要直接引用它。
关于C# 在项目之间共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33289662/