2012-06-22 49 views
7

我们最近升级到VS2010(10.0.40219.1 SP1Rel)和ILOG Rules for .net 7.1.1.4(x64)。现在可能发生以下情况:调试后项目引用丢失

  1. 打开解决方案。
  2. 调试项目
  3. 停止调试。
  4. 关闭文件(到目前为止:app.Config和Program.cs)
  5. 观看“重构规则”通知窗口出现。
  6. 作为每个rulep文件的第一个项目引用,恐怖的气体会被丢弃。

这种情况发生在大型解决方案(~60 csproj's〜15 rulep's)上。这种情况发生在较小的解决方案(6个csproj和1个规则)上。

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

在我们的项目或软件设置中是否有某些东西可以改变以停止项目引用丢失?


更新: - 不使用调试器的同时接合调试器是一种可靠的方式来获得出现问题“/参考下探重构规则”,这也只是偶尔通过关闭文件发生。


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


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

  1. 一切在它的构建服务器解决方案文件。
  2. 只有rulep及其依赖关系的解决方案文件。 Devs构建一次,为rulep获取.dll。
  3. 不包含rulep项目的解决方案文件。需要一个rulep的DLL项目有一个预生成事件复制DLL到他们的文件夹和程序集引用到该位置。调试和发布版本都需要一点小窍门。

Devs可以安全地调试第三种解决方案,该解决方案没有VS的rulep文件来破解。

+0

你在运行什么.Net框架? .Net 4? .Net 4客户端配置文件? – Bob

+0

我们是.net4(根据ILOG 7.1.1.4的要求) - 我确定没有任何项目正在瞄准.net4cp –

+0

这是一个在构建过程中构建的DLL吗?换句话说,它是第三方DLL还是您的团队创建的? –

回答

1

总之,只要有更多的控制过这个问题,也许你可以把你的项目/解决方案源代码控制下,并配置Visual Studio中,使其问权限的任何文件退房?
所以你会被要求当一些尝试修改项目引用(或源控制下的任何其他文件),你将有权拒绝任何不想要的修改的选项。

我什么都不知道“ILOG规则.NET”和这里的/它是如何保存它的规则配置,所以也许这种做法不会在你的情况下工作。如果是这种情况,请忽略我的回答。

+0

这是有帮助的。我的团队已经讨论过保护源代码管理和本地磁盘副本不受损害。即使只读规则文件,VS仍然是一个忍耐。 –

+0

VS非常容易碰撞......: - |并经常做奇怪的事情......你有没有尝试禁用任何最终安装的VS插件/扩展?也许ILOG Rules for .net和一些已安装的组件/库/插件之间存在一些不兼容...... – Max

+0

这是我们的第一反应。我们在用VisualNUnit进行调试时首先观察到这种行为。在实现通常的调试之前就抛弃了这一点。现在除了VS2010或ILOG以外,没有什么可以卸载的了。 –

0

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

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