C#中的CrossProject全局使用



既然C#10已经就位,我正在重构我的一些代码。我注意到参考文献的数量太多了。出于这个原因,我想将每个项目中共享的所有内容重构为一个";共享一个";使用global usings,但它没有按预期工作。

只是为了";最小";实例

我有一个类库来配置API配置(中间件等等(。然后我还有其他几个图书馆。

这里的关键是我想要一个名为";设置";它引用所有其它的库;全局使用";,能够在包含所有域逻辑的网络应用程序中导入该库

但是,当我用global using Shared.API.xxx在新的setup项目中创建文件时,似乎什么都没做。

我还在Web应用程序中导入了setup项目,做下一步:

<ItemGroup>
<Using Include="Shared.Setup" />
</ItemGroup>

这有可能进行跨项目全局使用吗?

注意:当我导入global using Shared.API.xxx时,Web应用程序中的任何位置都能正常工作。

由于文档状态-global usings被限制为编译(项目(中的文件:

向using指令添加全局修饰符意味着using应用于编译中的所有文件(通常是一个项目(。

如果你能引入可传递的全局用法,想象一下进口污染。

但是您可以共享global using,例如,通过手动添加它们作为每个项目的链接:

  • 在VS-中右键单击目标项目->添加->现有项目,但不是点击";添加";点击右边的下拉箭头并选择";添加为链接">
  • 或者通过添加next手动编辑.csproj:
<ItemGroup>
<Compile Include="Relative_Path_To_Shared.Setup.SharedUsingsFile.cs" Link="SharedUsingsFile.cs" />
</ItemGroup>

相关内容

  • 没有找到相关文章

最新更新