2012-12-26 39 views
1
缺少

我與在Visual Studio 2008中創建的,後來更新和Visual Studio 2010中最奇怪的事情也發生重新編譯.NET 3.5類庫工作即在Solution Explorer中所列實際上並不編譯成DLL(通過檢查與.net反射的DLL證明),並分別有沒有錯誤或警告。我嘗試了谷歌搜索和搜索這個網站,我找不到任何適用的信息。任何意見,爲什麼這是發生將不勝感激!希望提供的信息夠用了;否則我應該可以提供更多。ASP.NET Web引用從DLL

編輯: Web引用的名稱空間顯示在解決方案資源管理器中,但不顯示在對象瀏覽器中。我的一些同事說這是Web服務本身的一個問題。我應該提及它是一個SAP Web服務,在開發過程中,我們正在與最近升級的測試環境進行交互,並且可能會出現問題。一旦我更確定,我會確認這是否是原因,所以請不要猶豫,與此同時分享任何相關信息。

編輯(2):參見進一步澄清,包括所生成的客戶端錯誤Cyborgx37's answer我的第一響應。

回答

1

這是稍微令人費解:我所做的一切得到Web引用到對象瀏覽器 - 因此成爲在編譯時實際DLL - 是它重命名爲別的東西,然後將其恢復到它的舊名稱(這是可選的,以保持名稱相同)。喜歡奇怪的微軟問題。希望這可以幫助最終遇到相同問題的其他人!

+0

感謝您發佈您的解決方案。歡迎來到StackOverflow。 – JDB

0

如果我理解正確,你想知道爲什麼引用的程序集沒有編譯你的DLL。

引用組件通常不編譯到DLL。您的DLL將包含一個指向外部資源的指針,.NET將嘗試查找其中的幾種策略之一(然後將其加載到內存中,以便您的應用程序可以使用它)。

你會發現這篇文章有啓發:

How the Runtime Locates Assemblies
要成功部署.NET Framework應用程序,你必須瞭解公共語言運行時如何定位,並結合組成的組件應用。 ...

+0

有在我這裏指的是項目近40個Web引用。編譯項目後,所有除了一個Web引用都有所產生的DLL的模塊中自己的命名空間(通過.net反射證明)。在運行時,當缺少其命名空間中的Web引用被調用時,這個客戶端錯誤生成:「System.TypeLoadException:無法從組件加載類型_ [類型] _ [組裝] _」。我真的很感謝你的迅速和詳細的迴應,但我不認爲它回答我的問題,因爲這個Web Reference有明顯的不同。 – Jesse

+0

此信息對您的問題有用。不幸的是,我沒有遇到這個問題,所以沒有什麼可以提供給你的。 – JDB

+0

如果我不夠具體,我很抱歉。我會最終弄清楚並分享我的發現。再次感謝! – Jesse