2
我是WCF的新手。我在iis的wcf服務運行良好。我對其中主類是DAL的DataAccessLibrary.dll進行了代碼更改。 service.cs文件引用此dll。我將新的dll放入了bin文件夾。現在在service.cs代碼中出現了一個錯誤,提示「DAL在當前上下文中不存在」。我認爲這與service.cs類引用舊的dll而不是新的dll有關。但我不知道如何去解決它。IIS中的WCF如何更新bin文件夾中的dll?
通過重新發布,您的意思是將所有必需的文件(接口文件,服務類文件和dll)放入IIS中正確的文件夾中? webservice項目沒有通過「添加引用」選項添加到它的任何引用。儘管接口類和服務類都有一個使用DataAccessLibrary.dll的語句。在解決方案資源管理器中查看,它的解決方案中包含來自其他項目的所有dll的Bin文件夾。這個項目是被遺傳的,這就是爲什麼我不太瞭解它。 – cyrix86 2010-02-05 16:59:02
因此,DAL程序集必須已經手動添加到Visual Studio中的WCF項目的bin文件夾中,否則它永遠不會構建(具有與上述相同的錯誤)......如果您在VS中有WCF解決方案,請選中DLL的bin文件夾,您可能需要在那裏覆蓋它。您做了哪些類型的代碼更改(即新功能,名稱空間更改,訪問級別更改 - 私有/公共等)? – 2010-02-05 17:08:37
沒有那樣的,在DAL庫中有一個查詢數據庫的方法。我所做的只是爲SQL添加了另一個「AND」條件。我已驗證代碼正常工作。我有一個使用相同的DAL庫的Windows服務,它沒有問題。問題在於,在service.cs代碼中調用DAL類名稱本身時未被識別。我將嘗試覆蓋wcf項目的Bin文件夾中的dll,然後重建/部署到IIS。我會在一分鐘內回覆您 – cyrix86 2010-02-05 17:16:35