2012-01-24 10 views
22

我正在使用WPF。當我試圖在代碼中聲明SQLiteConnection,問題的產生─「類型'TestWPF.MainWindow'上與指定的綁定約束匹配的構造函數的調用引發異常。」 - 如何解決這個問題?

The invocation of the constructor on type 'TestWPF.MainWindow' that matches the specified binding constraints threw an exception. 

InnerException: Make sure that the file is a valid .NET Framework assembly. 

誰能告訴我,如何解決它?

+0

請顯示所提到的構造函數的代碼。它看起來像你試圖加載一個文件作爲不是.NET程序集的程序集。 –

回答

14

我通過添加下面的內容中app.config解決了這一問題,

<configuration> <startup useLegacyV2RuntimeActivationPolicy="true" /> </configuration> 

我通過社區除了通過用戶FCAA MSDN上的文章" Troubleshooting Exceptions: System.IO.FileLoadException"下面發現了這個。

+4

https://cdn.meme.am/instances/500x/67899834.jpg好工作雖然並通知其他人。 – Dbl

+0

也可能是像默認namespce – Alexander

17

在我的具體情況,我得到這個,因爲我有一些引用程序集在x64和x86之間不匹配。顯然,我綁定了一些需要由運行時加載的東西。

我在這裏提到這是爲了提醒您檢查您的構建配置,如果你到處看看其他地方!

4

我得到了同樣的錯誤,浪費大約2小時後,發現它是我的SQL Server服務沒有運行。不知道這是否能夠幫助某人,但它確實解決了我的問題,只是開始服務。

1

我在與我的應用程序資源有關的代碼的另一部分出現此錯誤。

這是後我App.config文件

1

我有同樣的問題,明確設置ResourcePath文件夾固定。我可以通過將App1.config的名稱重命名爲App.config來使其工作。我嘗試了所有其他方法,但對我來說解決方案是將配置文件的默認名稱(對我來說,它是App1.config)更改爲App.config。我分享這個,因爲有人可能通過這個小小的修改獲得幫助。

0

嘗試在連接字符串中添加「Integreted Security = True」。 它爲我工作。

4

提到的exe文件是非常通用的,您可以接收它,例如,當代碼在構造函數中失敗時。我遇到了一個IO例外情況,並且出現了類似的文字。進入代碼可能會提供一些提示來解決這個問題,否則可能不是很明顯。

3

我遇到了這個問題,它是因爲我的啓動應用程序是作爲任何CPU構建的,但我引用了一個構建爲x64的項目。設置啓動以構建x64可解決問題。

1

我的問題是關於接口。我通過刪除位於C:\ProgramData的Betternet文件夾來修復它。

爲了能夠查看文件夾,必須顯示隱藏項目/文件夾。

0

就我而言,它發生在代碼優先的WPF項目中。原因是恢復備份後的模型更改,並且未正確處理錯誤。 「自創建數據庫以來,支持'MyDataContext'上下文的模型已經發生了變化。」更新數據庫整理出來。

12

如果您點擊查看詳情...從例外窗口您可以看到InnerException。展開該節點,您將看到出錯的地方。

3

我得到它時,我指定的DependencyPropertyFrameworkPropertyMetadata用默認值

的默認值是

new AdressRecord { Name = "<new>", Adress = "?" } 

我換成

default(AddressRecord) 

和vs2015吃了

public static readonly DependencyProperty AdressRecordsProperty = 
     DependencyProperty.Register("AdressRecords", 
      typeof(ObservableCollection<AdressRecord>), 
      typeof(PageViewModel), 
      new FrameworkPropertyMetadata(
       default(AdressRecord),//This noes not work: new AdressRecord { Name = "<new>", Adress = "?" }, 
       OnAdressRecordsChanged)); 
+0

這給了我線索我需要解決我自己的狡猾微妙的問題。在我的情況下,'DependencyProperty'的基礎類型是'double',但我已經爲它分配了默認值'0'(一個'int')。將默認值更改爲「0.0」可以使程序正常運行。 – jmbpiano

1

使用Visual Studio,它有時不會在異常詳細信息中顯示任何內容,甚至不會顯示任何內容,但運行診斷工具卻很容易找出問題所在。

0

在VS2015中,我在調試選項「工具 - >選項」下打開「啓用只是我的代碼」後就能看到導致此問題的特定代碼。

0

我必須將目標.Net框架從4.5.2更改爲4.

+0

最有可能的客戶端系統沒有安裝.net 4.5.2。 – rolls

相關問題