如何为整个团队标记隐式加载的程序集?

How do you mark implicitly loaded assemblies for an entire team?

提问人:DaCodaDragon 提问时间:7/18/2023 更新时间:7/25/2023 访问量:43

问:

我们工作的存储库包含多个应用程序和服务,以及许多应用程序和服务之间共享的一大堆DLL文件。我们有一种控制反转形式,通过省略未使用的 DLL 来保持单个应用程序的大小较小。DLL 由生成 .exe 或服务的解决方案引用。

这行得通。但是,Visual Studio 和 Resharper 将这些引用标记为未使用,因为没有代码显式引用这些 DLL 引用中的任何内容(它们通过接口隐式使用)。这导致一些较新的开发人员尝试使用其优化引用功能通过 Resharper 清理引用。这会导致 DLL 不随应用程序一起提供,从而导致运行时出现问题。

我正在寻找一种将项目标记为“在运行时使用”的方法,这在 Resharper 中是可能的。请参阅 Resharper 文档中的保留对隐式加载程序集的引用

结果正是我想要的,但此设置存储在用户设置中。不在项目设置或 Resharper 的共享设置中。虽然从技术上讲,将用户设置添加到存储库是可行的,但这会导致不良结果,因为其他开发人员可能已经自定义了他们的 Resharper 设置。

我试图从 .DotSettings.user 设置为团队共享变体。但这似乎行不通。

有没有办法在全团队范围内实现相同的结果?

C# Visual-Studio Resharper 项目和解决方案

评论


答:

1赞 mu88 7/25/2023 #1

不幸的是,文档的以下部分没有指出这一点:

ReSharper 会将有关隐式引用的信息保存在其分层设置中,保存在项目或解决方案的文件中。*.DotSettings.user

正如您已经发现的那样,该文件有时包含本地范围的设置,我认为这是另一个。*.DotSettings.user

但尽管如此,我认为值得联系 JetBrains 并提出功能请求

评论

1赞 DaCodaDragon 7/27/2023
我希望避免这种情况,因为我没有太多发送功能请求的良好经验。但我想我会这样做,看看它最终会走向何方。
1赞 mu88 7/27/2023
这真的不难,他们非常友好