none
使用Enterprise Library的原始檔出現"這個原始檔與模組建置時的版本不同"的錯誤?? RRS feed

  • 問題

  • 我在使用Enterprise Library January 2006的DataAccessQuickStart方案時,在Database db = DatabaseFactory.CreateDatabase那行程式碼建立中斷點,執行時按F11要進入EntLib的原始檔除錯,卻會出現以下錯誤對話框內容:

    // 原始程式檔: 路徑略...\src\Data\DatabaseFactory.cs
    // 模組: 路徑略...\bin\Debug\Microsoft.Practices.EnterpriseLibrary.Data.dll
    // 處理序: [2344] DataAccessQuickStart.vshost.exe
    // 這個原始檔與模組建置時的版本不同。仍然要讓偵錯工具使用它嗎?

    如果我選"否",則不能繼續進入該檔偵錯。
    如果我選"是",則可以繼續偵錯,但若偵錯至另一個檔時,又會再跳對話框說該檔版本不同,如此每進一個檔就要問一次,不勝其煩。

    以上是我使用EntLib的範例方案所出現的問題,但就算我自己新建的方案,我不想只引用EntLib的dll檔,所以我在我自己的方案中加入EntLib的原始檔專案,並設定參考各專案目錄建置出的dll檔,本想說這樣單步除錯時也可進入EntLib的原始檔內方便除錯,結果仍會出現上述問題,請問各位專家該如何解決??

    順便請有安裝Enterprise Library January 2006的朋友試試,是否有跟我一樣的問題?

     

    2006年8月30日 上午 03:09

解答

  • Issue:
    ------
    You would encounter the following error when trying to use the Enterprise Library for .NET Framework 2.0 - January 2006 in Visual Studio 2005 in debug mode:
    Microsoft Visual StudioError parsing application configuration file at line 9. 
    Type
    '{http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/configuration}XmlF
    ileStorageProviderData' is not found in Schema.Please correct before
    proceeding.(You might rename the current web.config and add a new one.)

    Resolution:
    ------------
    Below is one known workaround to address the issue:
    1.  Open VS 2005 with Enterprise Library Project.
    2.  On the Debug menu, click Attach to Process.
    3.  Select “Show processes from all users” checkbox.
    4.  If your operating system is Windows 2000 or XP, choose aspnet_wp.exe under Available Processes; otherwise, choose w3wp.exe.
    5.  Click the Attach button.  This will start the project under debug mode.

    If the above does not help, further assistance can be obtained from the Enterprise Library Community web site since Microsoft Product Support Services does not provide incident-based support for this product.  The Enterprise Library is supported via Enterprise Library Community <http://go.microsoft.com/fwlink/?linkid=39209&clcid=0x09> site.


    林金花
    微軟技術支援中心

    2006年8月30日 上午 08:49

所有回覆

  • Dear 小慶:

    出現這個問題的原因,是因為你把Source Code Include到Solution中要做debug,

    但是solution中其它專案所 Reference的 Enterprise Library's Dll

    卻並非此次compiler出來的Enterprise Library's Dll

    意思應該是說,你是額外在別處 Reference實體的Enterprise Library's Dll,並非是此次Debug時,執行程式時所產生的Dll

    所以才會出現這個訊息

    最快解決這個問題的方法,看你要不要改成使用專案Reference

    希望對你有所幫助

    Kevin,Tsui

     

    2006年8月30日 上午 07:58
  • Issue:
    ------
    You would encounter the following error when trying to use the Enterprise Library for .NET Framework 2.0 - January 2006 in Visual Studio 2005 in debug mode:
    Microsoft Visual StudioError parsing application configuration file at line 9. 
    Type
    '{http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/configuration}XmlF
    ileStorageProviderData' is not found in Schema.Please correct before
    proceeding.(You might rename the current web.config and add a new one.)

    Resolution:
    ------------
    Below is one known workaround to address the issue:
    1.  Open VS 2005 with Enterprise Library Project.
    2.  On the Debug menu, click Attach to Process.
    3.  Select “Show processes from all users” checkbox.
    4.  If your operating system is Windows 2000 or XP, choose aspnet_wp.exe under Available Processes; otherwise, choose w3wp.exe.
    5.  Click the Attach button.  This will start the project under debug mode.

    If the above does not help, further assistance can be obtained from the Enterprise Library Community web site since Microsoft Product Support Services does not provide incident-based support for this product.  The Enterprise Library is supported via Enterprise Library Community <http://go.microsoft.com/fwlink/?linkid=39209&clcid=0x09> site.


    林金花
    微軟技術支援中心

    2006年8月30日 上午 08:49
  • Dear Kevin,Tsui:

    謝謝您的解答,我想我本來的做法就是使用專案的Reference,請看看我的做法對不對,

    首先我將EntLib原始檔資料夾拷貝至我的方案目錄下,並在Visual Studio中將該各EntLib專案加入方案中,

    再來我在此方案中我自己的專案裡要引用EntLib的程式,於是我選"加入參考...",

    跳出來的對話框有五個頁籤分別是".NET"、"COM"、"專案"、"瀏覽"、"最近使用的"

    我是移到"專案"頁籤,然後選擇我想參考的專案,這種做法是不是您說的使用專案Reference??

    因為這種做法在編譯時產生出來的EntLib dll會同時拷貝至引用他們的專案裡,

    所以我才有這個疑問為什麼還會出現不符的錯誤。

    2006年8月30日 上午 09:03