如何在.Net Core中引用项目

时间:2016-06-07 22:52:42

标签: c# .net .net-core

假设我有这个解决方案结构:

  • ProjectA(类库 - .NET Standard 1.5)
  • ProjectB(类库 - .NET Standard 1.5)
  • ProjectConsole(控制台应用程序 - netcoreapp1.0)

ProjectB 引用 ProjectA ProjectConsole 引用 ProjectB

如果在project.json中我声明了类似的内容:

"dependencies": {
    "ProjectA": "1.0.0-*",
    ...
  },

然后在ProjectConsole中可以执行以下操作:

var projectA = new Project.Class1();

这是因为ProjectB引用了ProjectA。

但我不想这样,问题是,有办法防止这种情况吗?

1 个答案:

答案 0 :(得分:1)

不,你无法阻止它。

如果 ProjectConsole 依赖于 ProjectB ProjectB 引用 ProjectA ,则ProjectConsole将隐式访问ProjectA的公众成员。

如果您确实想要阻止这种情况,可以使ProjectA的成员internal并使用InternalsVisibleTo属性。但这不是一个好的模式 - 如果B依赖A,它应该依赖于A的公共成员,或者它们应该合并到一个库中。