gpt4 book ai didi

asp.net-mvc - 在 TFS 中更新 nuget 包时处理挂起的删除

转载 作者:行者123 更新时间:2023-12-01 06:32:38 26 4
gpt4 key购买 nike

我们有一个内部开发的 Nuget 包,并向任何引入它的项目添加了许多与 MVC 相关的 Assets - Index.cshtml查看 Views\Home文件夹,一个 HomeControllerControllers文件夹和 Content包含一些静态文件的文件夹(其中包括)。

每次我们创建新版本的包并将其拉入 TFS 源代码控制下的项目时,都会首先卸载当前版本的包(标准 Nuget 行为)。这会导致所有 Assets 都被置于源代码控制中的挂起删除状态。每当一个文件夹中的所有文件被清空时,该文件夹也被置于挂起删除状态。

然后安装新版本的 Nuget 包时,包管理器会抛出错误,因为它尝试复制的 Assets 已设置为删除,或者在文件夹的情况下父级设置为删除。

有没有办法处理这种情况,或者在安装新包时强制 TFS 有效地取消删除 Assets ,或者在卸载时不首先删除它们?

最佳答案

虽然有一些钩子(Hook)和方法可以处理这个问题( Hook 到 IVsPackageInstallerEvents 或通过 init/install/uninstall.ps1 脚本管理它,但使用 Nuget 包还原可能更容易。

建议的做法是不要将“包”文件夹 checkin 源代码管理,而是在构建期间使用 NuGet 包还原来还原包。更多信息 here .

关于asp.net-mvc - 在 TFS 中更新 nuget 包时处理挂起的删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18492245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com