2010-08-10 76 views
0

的SubSonicService節當我嘗試在Visual Studio中的設計器中打開我的MainForm,這個錯誤,而不是彈出的Visual Studio的設計師了。找不到應用程序配置文件

找不到應用程序配置文件

at System.ComponentModel.ReflectPropertyDescriptor.SetValue(Object component, Object value) 
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement, CodePropertyReferenceExpression propertyReferenceEx, Boolean reportError) 
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement) 
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement) 

這工作之前的SubSonicService節和項目也有很多其他的表格/控件和他們的工作。我也可以建立我的項目並且沒有任何問題地運行它,它似乎只是設計師。

我的app.config有亞音速一個部分,我沒有改變它,所以它應該是正確的,因爲它之前的工作。

我使用C#和Visual Studio 2005和.NET 2亞音速2,我不能切換,這是現有的項目。

有沒有人一個想法如何解決這一問題?

回答

0

我想嘗試在主窗體的構造函數或任何其他自定義控制加載亞音速對象。這是在設計器中不起作用的其他對象時發生的常見錯誤。對於這種情況有一個屬性DesignMode,您可以檢查:

if (!DesignMode) 
{ 
    Product p = new Product(1); 
} 

這就是說,我會建議不要依賴於在app.config配置Windows中的亞音速形成項目。在不使用app.config的情況下,將提供者注入subsonic2有多種方法。 在Web項目中總有保存有像其他挑戰整個項目,但在Windows窗體應用程序大部分配置選項的web.config文件:

  • 改變連接字符串選項(不同的主機/用戶)你可能不想將你的密碼存儲在app.config中(至少如果你不使用單一登錄)。
  • ,如果你在一個類庫使用亞音速你有一個亞音速服務部分添加到使用它的每一個的WinForms /控制檯應用程序。
  • 運行時連接更改。也許你有一個測試和一個生產數據庫,你不能連接到沒有關閉應用程序並編輯你的app.config文件。

看看我的答案在這裏:Subsonic: dynamic connections如何做到這一點。

(代碼是不是從我,但原來的頁面已關閉)

此方法對我來說就像魅力。

相關問題