- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
TL:DR 如何仅在类库中引用程序集而不是在类库和调用项目中引用程序集?
我正在用 C# 构建一个实用程序库,以促进代码重用。在这种情况下,我想用 TFS 服务器做一些事情,并且需要从 TFS 方面引用几个程序集:
我将这些引用包含在名为 Utility 的类库中。然后我继续将这些程序集中的对象包装在辅助对象中。没有错误,智能感知工作正常,等等。
当我想在同一解决方案中的另一个项目(例如 TestCLI)中使用该类库时,我通过从解决方案引用选项卡中选择项目来添加对实用程序项目的引用。然后我可以毫无问题地使用 Utility 类,直到我开始构建。
当我构建解决方案时,它会抛出如下错误:
类型“Microsoft.TeamFoundation.VersionControl.Client.BranchObject”在未引用的程序集中定义。您必须添加对程序集 'Microsoft.TeamFoundation.VersionControl.Client, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
过去,除了类库 (Utility) 之外,我还通过添加对调用项目 (TestCLI) 的相同引用来解决此问题。我觉得这违背了拥有类库的目的之一,而且我错过了一个步骤,以便不必担心我的调用项目中的库引用。
有没有什么方法可以解决这些依赖关系,而无需同时在类库和调用项目中包含引用?我是否错误地构建了我的解决方案?我是不是以错误的方式考虑了类库?
最佳答案
引用是必需的,因为您要公开其他库中的对象,然后要使用这些类,最终程序需要引用。
为避免这种情况,您必须通过包装器、类的副本或其他任何方式隐藏外部对象,这主要取决于您公开这些对象的内容和原因。
关于c# - 如何在不添加对调用项目的引用的情况下通过类库正确解析 DLL 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41897005/
我是一名优秀的程序员,十分优秀!