星期四, 7月 18, 2013

Visual Studio 2013 Preview Bug?

有兩個都是 .NET 2.0 的專案,專案一依賴專案二,專案二建置沒問題,但專案一在 Visual Studio 2013 Preview 始終無法建置,非得升到 .NET 4.0 不可,而這情形在以前的 Visual Studio 2012 並不存在。
比較值得懷疑的,是專案二有參考到 COM 元件,不知道那個 Interop 介面(也重新產生過)是不是綁到 .NET 4.0 去了?用 ildasm.exe 一看,果然沒錯。歸根究底,與開發工具自動產生的 Interop 介面有關,VS2012 用 .NET 2.0 的 Tlbimp.exe,而 VS2013 用 .NET 4.0 的 Tlbimp.exe。知道原因後,想解決這個問題就簡單了,自已在命令列用適當的工具產生即可,例如:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\Tlbimp xxx.dll -> 2.0
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\Tlbimp xxx.dll -> 4.0

沒有留言:

張貼留言