NuGet 和版本控制 - 如何处理 Content 文件夹

发布于 2025-01-01 11:35:22 字数 207 浏览 0 评论 0 原文

使用较新版本的 NuGet,不再需要对 packages 文件夹进行版本控制,将其添加到 .gitignore 文件中非常简单。

但是,某些 NuGet 包还会将文件添加到 Contents 文件夹中,问题是如何处理?我认为这些文件也应该被 git-ignored,但是维护可能复杂的内容排除规则是否实用?

With newer versions of NuGet it is no longer necessary to version control the packages folder and it is pretty simple to add that to the .gitignore file.

However, certain NuGet packages also add files to the Contents folder and the question is how to handle that? I think that that files should also be git-ignored but is it practical to maintain possibly complex Contents exclude rules?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

溺深海 2025-01-08 11:35:22

当您阅读“启用的理由时使用 NuGet 而不签入包文件夹”,它是关于:

这个新功能将使如果包文件夹(或包文件夹中的任何包文件夹)丢失,则在编译应用程序时将自动恢复包文件夹(或丢失的包文件夹)。这可以确保即使当时缺少包文件夹,应用程序也能编译。

所以基本上可以重新生成的内容没有版本控制。
总体思路是,如果无法轻松重新生成或获取,则应对其进行版本控制

而且您放入 Content 中的内容似乎并不属于该类别,如文章“通过 7 个简单步骤创建 NuGet 包 -另外,使用 NuGet 将 ASP.NET MVC 3 集成到现有的 Web 窗体应用程序 ”;

第 2 步 - 将内容添加到您的 Content 文件夹

由于我希望 NuGet 包将内容添加到目标 Web 应用程序中的文件夹中,因此我将所需内容放入名为 Content 的文件夹中。其中的任何内容都会显示在我的目标项目的根目录中。这可以是 CSS、JS、CS 或 VB 文件,等等。这些文件将全部放到您的包所应用到的项目中。

Content文件夹

因此版本控制说Content可能是可取的。

When you read the justification for "Enabling Using NuGet Without Checking In Packages Folder", it is about:

This new feature will make it so that if the packages folder (or any package folder within the packages folder) is missing, the packages folder (or missing package folder) will automatically be restored when compiling the application. This ensures that the application will compile even though the packages folder was missing at the time.

So basically what can be regenerated isn't versioned.
The general idea is that, if it cannot be easily regenerated or fetched, it should be versioned.

And it doesn't seem that what you put in Content is in that category, as illustrated by this example in the article "Creating a NuGet Package in 7 easy steps - Plus using NuGet to integrate ASP.NET MVC 3 into existing Web Forms applications ";

Step 2 - Add stuff to your Content Folder

Since I want my NuGet package to add stuff to folders in my target Web Application, I put whatever I want in a folder called Content. Anything in that will show up in the root of my target project. This can be CSS, JS, CS or VB files, whatever. These files will all get dropped onto the project your package is applied to.

Content folder

So versioning said Content might be advisable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文