【问题标题】:Build Library To Automatically Referenced Locations with Visual Studio使用 Visual Studio 将库构建到自动引用的位置
【发布时间】:2018-09-26 07:35:30
【问题描述】:

在使用 Visual Studio 在 C# 中构建库时,我想删除该过程的一个步骤,例如如何通过在文件顶部添加以下语句来简单地引用 System 库:using System

通常在构建类库时,您必须在要从中使用该库的项目中添加对该库的引用,然后您可以在要引用该库的文件顶部添加 using 语句来自。

是否有某种方法可以删除需要显式添加引用的步骤(该步骤可通过在 Visual Studio 的解决方案资源管理器中右键单击项目来完成)?也许通过将类库构建到 Visual Studio 在创建新项目以使用该库时自动添加为引用的特定位置?

最终目标是能够编写 C# 类库,并且只要我编写应用程序时就可以使用它们,而无需在我编写的每个新应用程序中显式添加对每个库的引用。每当我想编辑一个库时,我可以简单地打开那个 Visual Studio 项目,编辑它,然后重新构建它。然后更新的库可供我使用该库的所有应用程序使用。

【问题讨论】:

  • 当其他开发人员需要更新项目时,您对会发生什么有什么期望?
  • FWIW,我认为您所追求的是自定义项目模板:docs.microsoft.com/en-us/visualstudio/ide/…
  • @TiesonT。老实说,我没有考虑过其他开发人员。我只是想供个人使用。如果我想编写一个库以发布给其他开发人员,我怀疑需要一种完全不同的方法。也许 NuGet 会有用?是否有编写库的约定或最佳实践?到目前为止,我的搜索一直不成功。我去看看链接。
  • 我已将 NuGet 包用于我想跨项目共享的“内部”程序集。如果它需要私有,您可以使用 MyGet 之类的东西,或者创建一个包并在某处的网络共享上共享它(例如几个例子)。如果你有像 TeamCity 这样的 CI 服务器,它实际上也可以配置为 NuGet 源。走包路线的一个好处是,使用程序集的项目可以选择何时更新包,假设您在某个时候推送新版本。
  • 至于最佳实践,这是一个广泛的主题。至少您要确保“正确”地对程序集进行版本控制:docs.microsoft.com/en-us/dotnet/framework/deployment/…。然后,当然,现在的孩子们希望你使用semver,如果你不使用就会生气,所以......

标签: c# visual-studio libraries


【解决方案1】:

我不确定您为什么要这样做,因为在页面顶部设置 using 语句很简单。但我几乎可以肯定你无法解决这个问题。

这篇文章指出:answer to get around of using statements

【讨论】:

  • 我们的目标不是绕过这一步,而是前一步。在我什至可以使用 using 语句之前,我必须在 Visual Studio 项目中添加对库的引用。我不需要为System.Collections 之类的东西做那个初步步骤...我只需添加using System.Collections 语句就可以了。目标是让我自己的库可以像这样使用,而无需进行初步步骤。我更新了这个问题,希望能澄清一下。
  • 现在我明白你的意思了...我认为 ReSharp 插件在某些情况下可以做到这一点。我认为它确实添加了解决方案项目和其他 system.* 库的引用。如果您错过了它们并单击 Ctrl+。快捷方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-27
  • 2010-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-23
相关资源
最近更新 更多