2012-06-22 122 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的插件,則可能無法幫助您縮小罪魁禍首。