我的解決方案有三個項目:
名爲XXX」沒有連接字符串可能會在應用程序配置文件中找到
- DLL庫,已經在EDMX EF核心作爲DAL爲Oracle數據庫
- 圖書館業務邏輯,參考上述dll
- ASP.NET核心webservice應用程序,引用業務邏輯的dll
所有這三個目標在同一版本的.NET框架:4.6.1
爲了讓web服務工作,並訪問我不得不從的EntityFramework項目App.config文件複製到web服務項目中的數據庫。
一切工作正常,直到我決定從ASP.NET 5 RC1遷移到ASP.NET Core 1.0。
遷移後web.config出現在webservice項目的根目錄下(除了在wwwroot文件夾下的目錄之外),我遇到了錯誤提到here顯然是因爲現在我有兩個配置文件(app.config和web.config),刪除app.config的解決方案很有意義。
因此,我將app.config中的所有部分複製到了web.config中,並刪除了app.config,它解決了我的第一個問題,但現在每當我嘗試使用DBContext
時,我都會遇到此異常:
類型的異常「System.InvalidOperationException」發生在 EntityFramework.dll但在用戶代碼中沒有處理
其它信息:沒有命名 「DBEntities」連接字符串可以在應用程序中找到配置文件。
我注意到,在發佈應用程序之後,文件myApp.exe.config不再有連接字符串。我的問題很簡單,我如何讓應用程序在web.config中查找連接字符串?
我發現了一些模擬問題,如this one,that和that 但他們都沒有答案我的問題。
Webservice的意思是SOAP/WCF? ASP.NET Core iirc不支持這種情況。只有Rest(WebApi),MVC和SignalR(仍處於早期測試階段)在ASP.NET Core – Tseng
@Tseng上受支持VS2015中沒有WebAPI項目類型。 MVC中不是所有的WebAPI? – Gubr
它們都在同一個包中,並且支持開箱即用。儘管如此,WebApi和MVC在用法上略有差異:WebApi路由通常沒有動作並且與http動詞一起工作,並且在WebApi中返回的「IActionResult」類型不同。儘管如此,你使用哪種技術作爲「Web服務」。 Web服務通常是指WCF/Soap,這就是爲什麼我問,因爲它不支持在ASP.NET核心項目 – Tseng