7

我们最近升级到 VS2010 (10.0.40219.1 SP1Rel) 和 .net 7.1.1.4 (x64) 的 ILOG 规则。现在可能发生以下情况:

  1. 打开解决方案。
  2. 调试项目
  3. 停止调试。
  4. 关闭一个文件(目前为止:app.Config 和 Program.cs)
  5. 观看“重构规则”通知窗口出现。
  6. 当每个 rulep 文件的第一个项目引用被删除时,惊恐地倒吸一口凉气。

大型解决方案会发生这种情况(约 60 个 csproj 和约 15 个规则)。较小的解决方案会发生这种情况(6 个 csproj 和 1 个规则)。

我们已经开始采取极端的开发措施来避免引用丢失(在调试时卸载所有规则并在调试后关闭/重新打开 VS2010)。

我们的项目或软件设置中是否有一些东西可以更改以阻止项目引用下降?


更新:虽然使用调试器是发生“重构规则/引用删除”问题的可靠方法,但它偶尔也会通过关闭文件而发生 - 不使用调试器。


我已经授予了第一个赏金,如果有人提出可以接受的答案,我愿意设置第二个赏金。


解决方法:我们有三个解决方案文件

  1. 包含构建服务器所有内容的解决方案文件。
  2. 仅包含规则及其依赖项的解决方案文件。开发人员构建一次以获取规则的 .dll。
  3. 不包含规则项目的解决方案文件。需要 rulep 的 dll 的项目具有将 dll 复制到其文件夹中的预构建事件以及对该位置的程序集引用。允许调试和发布构建需要一点点摆弄。

开发人员可以安全地调试没有规则文件供 VS 破坏的第三个解决方案。

4

2 回答 2

1

无论如何,只是为了更好地控制问题,也许您可​​以将您的项目/解决方案置于源代码控制之下,并配置 Visual Studio 以便它请求任何文件签出的权限?
因此,当尝试修改项目引用(或源代码控制下的任何其他文件)时,系统会询问您,并且您可以选择拒绝任何不需要的修改。

我对“.net 的 ILOG 规则”以及它存储规则配置的位置/方式一无所知,所以这种方法可能不适用于您的情况。如果是这种情况,请忽略我的回答。

于 2012-06-29T10:52:14.750 回答
0

我也熟悉 rulep 文件 - 但考虑使用Procmon和一些过滤器来准确找出哪些进程正在破坏您的文件。希望这能给你更多的线索。

请注意,如果它是使用 Visual Stuido 自动化 API 的 Visual Studio 插件,这可能不会帮助您缩小罪魁祸首。

于 2012-07-01T22:51:16.293 回答