7

我的VS2013項目存在奇怪的問題。我最近將我的一個項目分支從.NET 4.0升級到了4.5.1,並使用NuGet包管理器來安裝帶有Razor的MVC 5,這樣我就可以擁有一個WebForms/MVC混合體。到目前爲止,它工作正常,我能夠使用WebForms和MVC。無法確定要使用哪個版本的ASP.NET網頁

但是,同一個項目的所有其他分支(例如生產分支)在未更改時似乎都會中斷。當我運行其他的項目之一,我得到:

Could not determine which version of ASP.NET Web Pages to use.

一些環顧四周後,我看見有人建議把這個在web.config的appSettings:

<add key="webpages:Version" value="2.0.0.0"/>

現在,當我跑這個項目,我得到這個:

HTTP Error 404.0 - Not Found

厄爾斯什麼e是奇怪的是,該URL指向這一點:

http://localhost:53305/Account/Login?ReturnUrl=%2findex.aspx

我不知道如何使在不同的代碼分支的變化MVC 5可能會影響我目前仍在使用的4.0直WebForms的其他項目框架。

編輯:可能值得注意的是,我的其他完全獨立的WebForms項目仍然有效。只有這個特殊項目的其他分支似乎被打破了。這幾乎就像如果有這些分支機構已修改其最終只收容分支已升級到MVC 5

編輯之間共享一些常見的配置文件:在情況下,我怎麼安裝的NuGet包有問題,這是我做的:

  • 右鍵點擊我的項目,選擇管理的NuGet包
  • 在左窗格中在線點擊並選擇微軟ASP.NET MVC,並點擊安裝
  • 它做什麼它做了並安裝了它該項目。

我沒有安裝此軟件包在我的其他分支機構。它只是一個分支。不知何故,它影響到所有分支,我不知道爲什麼。

+0

您是否使用nuget包管理器更新到MVC 5或者是否安裝了它?你的nuget是否設置爲共享位置?如果是這樣,那麼更新會卸載舊版本並安裝新版本。如果您的分支機構依賴於舊版本,它可能最終破裂。只是一個建議。 – Gjohn 2014-11-06 02:13:12

+0

@Gjohn請參閱編輯問題底部。我也不知道它是否安裝在共享位置,不知道如何解決問題。「 – oscilatingcretin 2014-11-07 19:42:29

+0

檢查您使用Nuget添加的引用的位置。通常他們會被寫入一個軟件包文件夾,但是如果您共享庫,您可以配置Nuget以寫入您選擇的目錄。通常,如果只是寫入作爲項目一部分的軟件包文件夾,它將只包含您爲該項目安裝的軟件包。如果它是一個共享位置,那麼它應該包含幾乎每個項目所使用的每個包。此外,請檢查您的參考資料,以查看項目分支中是否存在無效的引用。 – Gjohn 2014-11-07 19:58:44

回答

1

我的猜測是你現在有很多.net v2.0項目和一個.net v4.5.1項目在同一個解決方案中。您的IIS Express配置或IIS配置現在正在使用應用程序池v4.5.1

+0

是的,它可能是這個去了分支中的所有項目,並將構建版本設置爲.Net 4.5.1 – 2014-11-14 16:25:37

+0

我將所有項目升級到4.5,並修復了所有問題。 – JoshYates1980 2015-08-27 16:05:33