调试后项目引用被删除

时间:2012-06-22 14:30:52

标签: visual-studio-2010 project-reference ilog

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

  1. 打开解决方案。
  2. 调试项目
  3. 停止调试。
  4. 关闭文件(目前为止:app.Config和Program.cs)
  5. 观看“重构规则”通知窗口。
  6. 恐慌,因为每个rulep文件的第一个项目引用都被删除了。
  7. 这种情况发生在大型解决方案中(大约60个csproj,约15个规则)。这种情况发生在较小的解决方案中(6个csproj,1个规则)。

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

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


    更新:虽然使用调试器是一种可靠的方法来解决“重构规则/引用丢失”问题,但偶尔也会通过关闭文件而不使用调试器。


    我已经获得了第一笔赏金,如果有人想出一个可以接受的答案,我愿意设立第二个赏金。


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

    1. 一个解决方案文件,其中包含构建服务器的所有内容。
    2. 只包含rulep及其依赖项的解决方案文件。 Devs构建了一次以获得规则的.dll。
    3. 不包含rulep项目的解决方案文件。需要rulep的dll的项目具有预构建事件,该事件将dll复制到其文件夹中以及对该位置的程序集引用。为了允许调试和发布版本,需要进行一些小小的调整。
    4. 开发人员可以安全地调试第三个解决方案,该解决方案没有用于VS的规则文件文件。

2 个答案:

答案 0 :(得分:1)

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

我对“ILOG Rules For .net”以及它存储规则配置的位置/方式一无所知,所以也许这种方法在您的情况下无法正常工作。如果是这种情况,请忽略我的回答。

答案 1 :(得分:0)

我也熟悉rulep文件 - 但考虑将Procmon与一些过滤器一起使用,以确切了解哪些过程会破坏您的文件。希望这能为您提供更多线索。

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