gpt4 book ai didi

visual-studio-2008 - 从源代码管理中排除嵌套项

转载 作者:行者123 更新时间:2023-12-04 15:27:41 26 4
gpt4 key购买 nike

我正在使用 T4 模板在我正在处理的项目中生成一些 .config 文件。

我已经设置了一个预构建任务来查找解决方案目录中的所有 .tt 文件,然后执行 TextTransform 命令行工具,以便在每次构建时都新鲜生成代码。

但是,我现在遇到“拒绝访问”错误,因为(例如)当它尝试在 Web.UAT.tt 文件上执行 TextTransform 时,Web.UAT.Config 文件在 TFS 中受源代码控制,因此写入 protected 。

通常我会在 Visual Studio 中选择 .Config 文件,然后执行 File->Source Control->Exclude From Source Control。不幸的是,对于在另一个文件下显示为“嵌套”的任何文件,这不会作为选项出现!

即我可以排除 web.tt,但不能排除 web.config...我可以排除 default.aspx 但不能排除 default.aspx.cs。

有没有人知道如何从源代码管理中排除较低级别的嵌套文件,但保留顶级文件?

谢谢!

最佳答案

我假设您在这里使用 TFS。

您将无法完美地做到这一点 - 因为 Visual Studio 会自动将添加到项目中的任何新项目添加到源代码管理中。您最好的解决方案是在运行模板之前查看使用 MSBuild 并为输出文件发出 checkout (但之后您可能必须再次 checkin )。快速浏览一下是http://msbuildextensionpack.codeplex.com/我已经看到为了这样做的目的而提到的。

如果没有,还有另一种方法。

  • 从源代码管理中删除输出 .config 文件并 checkin (最好为此使用源代码管理资源管理器)。
  • 从 VS 中手动运行 .tt,它会再次添加文件 - 现在它旁边应该有一个加号。
  • 再次在源代码管理资源管理器中,右键单击此"new"文件并选择“撤消挂起的更改”。您现在在磁盘上拥有该文件,但不在源代码管理中。
  • 现在可以运行 TT,该文件是项目的一部分(因此将被发布或其他),但它不受源代码控制。

  • 这样做的问题是其他人第一次加载项目,如果他们运行 .TT,他们的 Visual Studio 将自动创建输出文件 - 在这种情况下,他们需要重复此过程(从第 2 步开始)或需要手动创建一个正确名称的 stub .config 文件(我什至建议在加载项目之前),以便项目看到它并且不会尝试对其进行重新源代码控制。

    关于visual-studio-2008 - 从源代码管理中排除嵌套项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3178622/

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