【问题标题】:VS 2012 .user file causes unnecessary buildsVS 2012 .user 文件导致不必要的构建
【发布时间】:2016-02-25 12:19:50
【问题描述】:

在不必要的情况下,有许多与 Visual Studio 构建项目相关的帖子。但是,似乎没有人涵盖这个特定问题。

我正在运行 Visual Studio 2012 Professional Update 4。

在我的解决方案中,我有一个单元测试项目,其中包含对 BizTalk 转换项目的项目引用。这又具有对 BizTalk 架构项目的项目引用。

每次我选择运行单元测试时,都会构建整个解决方案,即使没有进行任何更改。

构建窗口显示的第一行如下:

输入文件 'C:\Workspaces\rbowman\Branches\Current-branchRB\WareHouse\FFF.Enterprise.WareHouse.Schemas\FFF.Enterprise.WareHouse.Schemas.btproj.user' 输出文件后修改 'C:\Workspaces\rbowman\Branches\Current-branchRB\WareHouse\FFF.Enterprise.WareHouse.Schemas\bin\Release\FFF.Enterprise.WareHouse.Schemas.pdb'。

注意:似乎是 .user 文件导致了重建。 有谁知道如何防止这种情况?奇怪,但我似乎只遇到了 BizTalk proj 文件的问题。我在多个解决方案中都看到了这种行为,但问题文件始终被标识为 btproj.user。

此截屏视频说明了问题:screencast link

【问题讨论】:

  • 如果我有一个文件包含在项目中,这通常是正常的,该文件不再存在。
  • 您的意思是 .user 文件导致重建的项目(在我的例子中是 schemas.btproj)?如果项目包含它 VS 无法在磁盘上找到的文件,我想我会在解决方案资源管理器上看到“丢失文件”图标,但我在整个解决方案中没有任何图标
  • 设置文件的只读属性。要么它让你平静下来,要么有什么东西会说砰!当它尝试更新文件时,您会知道更多。
  • 我喜欢你的建议 Hans。不幸的是,在 WareHouse.Schemas\FFF.Enterprise.WareHouse.Schemas.btproj.user 上设置只读标志没有任何区别 - 我收到相同的消息,即使没有进行任何更改,它也会构建:(
  • 删除 .user 文件会发生什么?

标签: visual-studio visual-studio-2012 msbuild biztalk


【解决方案1】:

您应该从源代码管理中删除 *.user 文件

这些文件存储用户特定的设置,并且应该从不签入源代码管理。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。 BizTalk 项目坚持在每次构建时更新 btproj.user 文件,从而每次都完全重新构建。

    我通过以下解决方法解决了该问题:将 ACL 写入标志设置为拒绝。构建无法更新文件,项目仅在实际需要时构建。

    在我的例子中,构建时间从 10 分钟缩短到了 2 分钟。

    【讨论】:

      【解决方案3】:

      如果您刚刚打开解决方案,即使自上次构建以来没有任何变化,如果您单击全部运行,它将按照测试资源管理器中的描述进行构建。

      【讨论】:

      • 如果我在测试运行完成后立即选择全部运行,即我第二次请求运行,我会遇到同样的问题。我添加了一个屏幕截图以更好地说明问题:biztalkers.com/video/build-before-test.mp4
      • 是的,Run All 似乎总是导致它重新编译,这是 Visual Studio 2012 的一个“功能”。即使运行选定的单元测试也会导致它重新编译,但它通常会意识到项目最多日期。它在 Visual Studio 2010 中不曾这样做。
      猜你喜欢
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-10
      • 1970-01-01
      相关资源
      最近更新 更多