2016-01-14 28 views
3

Sup。我目前被困在一些不尋常的東西。我試圖在MVC 5項目更新遷移的時候,突然我得到所有這些錯誤:MVC項目中的包之間的歧義

類型名稱「NuGet.VisualStudio.IVsPackageInstallerServices」是模糊的,也可能是「NuGet.VisualStudio.IVsPackageInstallerServices,微軟。 VisualStudio.Authentication.ConnectedServices,Version = 1.0.0.0, Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或'NuGet.VisualStudio.IVsPackageInstallerServices,Microsoft.VisualStudio.Web.Project,Version = 2.3.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a 」。 E:\ AllData \ Dropbox \ Pro Gaming \ www \ Pro_Gaming \ packages \ EntityFramework.6.1.3 \ tools \ EntityFramework.psm1:1004 char:5 + $ packageInstallerServices = $ componentModel.GetService([NuGet.Vis .. 。 + ??? ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +〜~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidArgument:(:) [],RuntimeException的 + FullyQualifiedErrorId:AmbiguousTypeReference

你無法在空值表達式上調用方法在 E:\ AllData \ Dropb ox \ Pro Gaming \ www \ Pro_Gaming \ packages \ EntityFramework.6.1.3 \ tools \ EntityFramework.psm1:1006 char:5 + $ vsPackage = $ packageInstallerServices.GetInstalledPackages()| ? ... + ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidOperation:(:) [],RuntimeException的 + FullyQualifiedErrorId:InvokeMethodOnNull

和許多其他錯誤指這個問題的空值產品,我已經在這篇文章中省略了。

我首先以爲這是Visual Studio的NuGet問題,所以我重新安裝了它。然後,我嘗試重新安裝實體框架。

之後,我決定嘗試在不同的MVC解決方案上安裝EntityFramework和NuGet包,它的工作完美無瑕。

我也強制卸載並安裝實體框架(都與-reinstall和updatePackage命令)無濟於事。我搜索了文件夾中的任何文件名重複,但我還沒有找到一個。

此外,即使在相同解決方案的文件內容中也無法找到「NuGet.VisualStudio.IVsPackageInstallerServices」。

所以問題是這個具體的解決方案!

+3

檢出http://stackoverflow.com/questions/34883705/get-error-while-running-enable-migrations和https://social.msdn.microsoft.com/Forums/en-US/b0c771a5-7a52 -4eb4-907e-0fd9f2ff063a/type-name-nugetvisualstudioivspackageinstallerservices-is-ambiguous?forum = adodotnetentityframework 這個問題對我來說已經解決了,從Windows 10 build 11099的一個後退步驟似乎會導致問題。 – slavikko

+1

問題仍然在11102個:( –

+0

@StephenReindl:Nooooooooooooo :(變態恨那個哦......這時候,我們想成爲超級快與內幕構建會發生什麼 –

回答

2

更新:底層的PowerShell問題在Windows 10 Redstone的內部版本14291中得到了確認。

我們已經確定了行爲的變化與最新的預覽版本的Windows,我們與Windows和Visual Studio團隊合作,找出解決方案。

我們將發佈關於這個bug的任何更新:https://entityframework.codeplex.com/workitem/2872

+0

THANK YOU!d主要原因恢復到RTM! –

+0

CodePlex上引用的錯誤標記爲「已解決」,但評論明確指出,修復將只通過一個可新的Windows內部人員構建,這還沒有發生,這真的不應該被標記爲已解決,直到它實際解決併爲我們所有人工作,爲什麼對PowerShell(和/或EF)進行更新需要新的操作系統版本才能解決問題? –

+0

由於PowerShell隨Windows提供。我認爲這是一個像其他任何解釋一樣的有效解釋,只有在修復程序向公衆開放之前,才能將錯誤標記爲已解決。但是,該錯誤數據庫屬於EF團隊,我們無法直接控制修復程序的分發。實際上,我將狀態轉換爲已解決狀態,我們很少在該錯誤數據庫中使用該狀態,其具體目的是傳達我們已經修復的好消息。我計劃只有在我們驗證了修復程序後纔將bug移至關閉狀態。這反映了普遍的做法。 – divega

2

如果不能訪問項目,那很難調試。但是 - 我可以告訴你,我們最近遷移到VS2015(和更新的MVC),並得到了一些相同的錯誤。

我們最終通過來解析記事本++中的.csproj和.sln文件。對於我們來說,文件中的組件沒有出現在VS2015 UI中。

手動刪除舊引用,保存csproj文件,然後在VS2015中重新打開解決方案,爲我們解決了問題。

+0

謝謝,我一直在尋找的.csproj的,但是沒有發現任何異常現象 這裏是需要的情況下鏈接:https://www.dropbox.com/s/qvf0jf7oi3u197a /Pro_Gaming.csproj?dl=0 –

5

直到微軟解決這個問題,我已經在這裏發表解決方法吧 - >http://edd.stefancamilleri.com/2016/02/14/update-database-fails-in-package-manager-console-on-windows-10-insider-preview-with-ambiguous-type-error/

您可以使用類型別名繞過它。

更新:在此期間,MS有固定的問題。也就是說,如果將來遇到類似的錯誤,這種方法也可以工作。

+0

Woot!大!如果我回到預覽程序,我一定會申請! –

+0

沒有爲我工作。假設你必須安裝Resharper才能正常工作? '無法轉換參數「類型」,值爲:「Nuget.VisualStudio.IVsPackageInstallerServices,JetBrains.Platform.VisualStudio.SinceVs11,Version = 104.0.0.0, Culture = neutral,PublicKeyToken = 1010a0d8d6380325」,用於「添加」以鍵入「系統。類型「' –

+0

您的具體情況中的類型歧義應該在另外兩個庫之間。 錯誤通常會爲您提供兩種衝突類型的完全限定類型名稱,您只需使用其中的一種即可。 我的例子是特定於我的設置,所以你可能會有所不同。 如果您使用正確的類型進行替換,別名方法應該可以工作。你可以試試嗎? –

相關問題