[ERROR]使用Web參考物件,發生 型別 '<type1>' 的值無法轉換成 '<type2>' 的錯誤

使用VS2005加入Web參考,建立統一的Method來建立Web參考物件,居然出現「型別'' 的值無法轉換成 ''」的錯誤!

今天同事問到關於WebService參考的問題,原因是因為他使用VS2005加入Web參考,但卻無法判定在程式中new WebService物件起來的URL到底對不對!

所以就請他在建立Web參考物件之後直接指定它的URL。

於是將建立Web參考物件並指定URL的程式,包在一個Function之中,

//統一建立Web Service物件的function
public WebRefTest.MyWS GetMyWS()
{
	WebRefTest.MyWS myWS = new WebRefTest.MyWS();
	//從 AppSettings 讀取 url 的 Path
	myWS.Url = System.Configuration.ConfigurationManager.AppSettings["myWS"];
	return myWS;
}

 

將原本直接建立Web Service物件,改呼叫統一的function,如下,

WebRefTest.MyWS myWS = new WebRefTest.MyWS();

改成

WebRefTest.MyWS myWS = GetMyWS();

 

結果卻發生了「型別 'WebRefTest.MyWS' 的值無法轉換成 'WebRefTest.MyWS'。」的錯誤。

後來在物件瀏覽視窗中,發現aspx.cs中的物件,居然跟 function 使用的物件不同。

因為是在VM中,有多人開啟相同的專案。所以先請其他人關閉那個專案。

然後在方案的Web參考上按右鍵「更新Web參考」後,就不會有型別不同的問題~!

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^