.net - Visual Studio 2013 : Creating a new ASP. 没有 nuget 的网络项目

标签 .net visual-studio nuget

首先,我想说我喜欢 nuget,并且在许多小型项目中经常使用它,尤其是在尝试新事物时。

但是,我认为 Nuget 不适合我的主要项目/环境的原因有很多:

  • 代码被部署到一个安全的环境中——因此需要高度的监督
  • 这是一个相当大的项目,大约有 10 名开发人员跨越数年 - 通过快速添加包节省的时间可以忽略不计。
  • 我对库自动更新不感兴趣
  • 我想知道采用新库时正在进行哪些配置,以及除了代表我确定的“合理默认值”之外我还有哪些其他选择。

  • 简而言之,我想知道我的项目有什么进展,而 Nuget 在“帮助我”方面过于激进,我无法忍受。

    因此,当我创建一个支持 MVC 和 WebAPI 的新“空”asp.net 项目并发现自己配置了 8 个 nuget 包时,我真的很失望。这些文件中的大部分都是浪费的(我真的不需要 JSON.Net 用于 .Net 框架的每个版本,但谢谢)。

    为了在没有 nuget 的情况下获得类似的设置,我执行了以下操作:
  • 藏了一份 web.config
  • 将我感兴趣的所有 DLL 复制到一个新文件夹中
  • 卸载所有 nuget 包
  • 引用我想要的 DLL
  • 重新添加了必要的 web.config 位

  • 啊,我们走了。好多了。

    然后我继续并右键单击 Controllers 文件夹 > 添加 Controller ,然后右键单击 View 文件夹和 > 添加 View 。

    令人费解的是,nuget 包文件又回来了,并通过添加“帮助了我”
  • jquery
  • jquery 验证
  • jquery 不显眼的验证。

  • 谁说我要使用 jquery 验证?!

    所以我的问题是:我如何停止疯狂?如果我不想使用 nuget,我是否注定要小心翼翼地使用 VS 工具?

    或者,我也会接受 令人信服 争论解释说我对我的项目中的内容不必要地保持肛门并且应该喝Kool-Aid。

    最佳答案

    我看不出您不想使用 NuGet 的原因。
    这些是我的想法:

    The code gets deployed to a secure environment - because of this a high level of oversight is required



    这与 NuGet 无关。如果您需要高级别的监督,那么您需要的是一个良好的分支和发布策略以及您选择的源代码控制。代码审查政策等

    It is a fairly large project with ~10 developers spanning several years - the time saved by quickly adding packages is negligible.



    NuGet 不是关于快速添加依赖项。它是关于有效管理您的依赖项。所以问题是,你会有任何依赖吗?如果是,那么您为什么要拒​​绝使用可以帮助您以不太可能犯错误的方式管理它们的工具?

    I have no interest in libraries automatically updating



    NuGet 不会自动更新您的库。

    但是,它会在一个位置显示所有可用更新,您可以选择要接受哪些更新。这是一个很棒的功能,我不明白为什么这会打扰你。老实说,如果您不使用 NuGet,您更有可能错过非常重要的更新。如果 Microsoft 修复了其中一个 MVC 库中的关键安全问题会怎样?

    NuGet 将
  • 向您展示可用更新
  • 帮助您在所有依赖更新库的地方应用更新
  • 帮助您为目标项目选择正确的版本

  • I want to know what configurations are being made when adopting a new library, and what other options I have besides whatever "reasonable default" has been determined on my behalf.



    这与 NuGet 无关。无论您是通过 NuGet 还是手动使用 3rd 方库,在这两种情况下,您都必须阅读该库的文档才能就如何配置项目做出明智的决定。

    唯一的区别是,通过安装 NuGet 包,它更有可能带有开箱即用的合理配置。所以你真的只能从中受益。如果您想更改配置,那么更改哪个默认值并不重要,对吗?

    关于.net - Visual Studio 2013 : Creating a new ASP. 没有 nuget 的网络项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19802884/

    相关文章:

    c# - SAFE Pointer to a pointer (well reference to a reference) 在 C# 中

    .net-core - 如何避免 NuGet 出现兼容性警告?

    nuget - 您可以恢复属于另一个 VSTS 帐户的 VSTS 源中的包吗?

    visual-studio - find_package 用于使用 Visual Studio 进行调试和发布

    visual-studio - Visual Studio 打不开

    c# - 如何将 DTE.ActiveWindow.Selection 转换为 VS2008 宏中最接近的 CodeElement?

    nuget.exe推送到本地源(文件夹)错误

    c# - Xunit 和 Mock 数据与最小起订量

    c# - 为什么 WCF 不能传递字典中的对象?

    c# - 在 C# 中使用 .Show() 方法后,由于循环而导致对话框无法正确显示