昨日のWindows Updateの後、プロジェクトの構築に問題があるようです。
Related Windows Updates could be:
ASP.NET MVC 2.0: KB2993939
ASP.NET MVC 3.0: KB2993937
ASP.NET MVC 4.0: KB2993928
ASP.NET MVC 5.0: KB2992080
ASP.NET MVC 5.1: KB2994397
これらのエラーはすべて、System.Web.Mvc
チェックしたネームスペース。 References
の下のプロジェクトにまだ関連付けられています。 Windows Update中にMVCプロジェクトで何が問題になった可能性があり、それを修正するにはどうすればよいですか?
以下は、今日管理されている更新を示すログです。
最近の更新でバージョン番号が増加しました
3.0.0.0-> 3.0.0.1および4.0.0.0-> 4.0.0.1
参照を削除して再追加する必要がありました(System.Web.Mvcはアセンブリにあります>拡張機能は[参照の追加]ダイアログにあります)
今日、Windowsの更新後も同じ問題が発生します。私の解決策があります。
Install-Package Microsoft.AspNet.Mvc -Version 5.2.0.0 -Project PROJECTNAME
また、これらのコードを使用してみることもできます。
Uninstall-Package Microsoft.AspNet.Mvc -Force
幸運を。
これを修正するには2つの方法があります。
オプション1:NuGetを使用してMicrosoft.AspNet.Mvcを追加
NuGetを使用して、依存しているMVCバージョンの最新リビジョンをプロジェクトに追加します。 Microsftはこのアプローチを推奨しています。
オプション2:アセンブリ参照を更新する
プロジェクトに新しいアセンブリ参照を追加すると、System.Web.Mvcアセンブリのバージョンがx.0.0.1になっていることがわかります。
MVCの再インストールを率直に試みることをお勧めします。最終的にはうまくいきましたが、MVCインストーラーにバンドルされているNuGetで問題が発生します。
NuGetがまだ存在しているとMVCインストーラーがインストールを拒否または失敗するため、MVCを再インストールする前にNuGetをアンインストールする必要があります。
さらに、MVCを再インストールしても、MVCを再インストールした後にWindows Updateが更新プログラムを再度適用できなくなる理由はわかりません。
パッチが増加すると、バージョン番号が上がります(MVC4の場合は4.0.0.0から4.0.0.1に上がりました)。プロジェクトファイルの参照パスを以下から変更する必要があります。
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\bin\System.Web.Mvc.dll</HintPath>
</Reference>
に
<Reference Include="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\bin\System.Web.Mvc.dll</HintPath>
</Reference>
必要に応じて明らかにヒントパスを調整し、MVCの他のバージョンに対して同様の変更を行います。
この問題は私にとって存在していました。ただし、修正は、nugetを使用してweb.configを修正または更新するよりもはるかに簡単でした。 {ProjectName} .csprojのテキストを手動で更新することで問題が解決しました
参照Include = "System.Web.Mvc、Version = .0.0.1、Culture = neutral、PublicKeyToken = 31bf3856ad364e35、processorArchitecture = MSIL"
に
Include = "System.Web.Mvc、Version = .0.0.、Culture = neutral、PublicKeyToken = 31bf3856ad364e35、processorArchitecture = MSIL"を参照し、変更をチェックインし、ビルドエージェントでビルドを実行します私にとってはTeamCityでした。
これによりローカルでビルドエラーが発生しましたが、ソース管理/チームシティのビルドエラーは解決しました。
これにより、csprojファイルを変更せずにローカルでビルドすることはできません。ただし、上記のように変更をチェックインした後(3.0.0.1から3.0.0.0に変更)、プロジェクトをローカルで更新して新しいバージョン(3.0.0.1)を使用し、csprojの変更をチェックインしないでください。 。誰かが同様のシナリオを持っているかもしれないと思います。
最近同じ問題がありました。
Windows Update後-Visual Studioのプロジェクトに突然500以上のエラーが発生しました-すべてsystem.web.mvcに関連しています
そのため、参照を削除して再追加しました-C:\ Program Files(x86)\ Microsoft ASP.NET\ASP.NET MVC 3\Assembliesにあります
すばらしい-プロジェクトがコンパイルされます。
サイトに配置-「要求されたタイプの1つ以上をロードできません。詳細についてはLoaderExceptionsプロパティを取得してください」を取得
いじくり回した後、私はサイトに行き、そこからそのバージョンをダウンロードしました-それを参照しました-それは私のラップトップとサイトで動作しました
ふう!!!!!!!
mh28 のソリューションを試しましたが、次の提案がありました。
最近の更新でバージョン番号が増加しました
3.0.0.0-> 3.0.0.1および4.0.0.0-> 4.0.0.1
参照を削除して再追加する必要がありました(System.Web.Mvcはアセンブリにあります>拡張機能は[参照の追加]ダイアログにあります)
さらに、関心のある範囲全体でFind and Replaceを実行することも提案されました。私はそれを試しましたが、失敗しました。 Find and Replaceは.csprojファイルには適用されないようです。
次に行ったのは、テキスト置換ツールを見つけて( Ecobyte Replace Text を参照)、次の設定を使用してプログラムを実行することでした。
私のすべてのプロジェクトはその後正常にビルドされ、副作用は見られません(web.config
ファイルに変更を加えていないにもかかわらず)。これが最善の解決策であるかどうかはわかりません(そして考えていません)。これは、セキュリティ関連のWindows Update for .NETの影響を受けるSystem.Web.Mvc
のすべての問題に対する特効薬ではないと思います。しかし、再参照するプロジェクトが非常に多い特定の場合に役立つと思います。
MVCアセンブリを再インストールする
ダウンロードリンク: http://www.Microsoft.com/en-US/download/details.aspx?id=3068
同じ問題があります。
Microsoftはバージョンを3.0.0.0から3.0.0.1に変更しました
通常の設定は「特定のバージョンを使用する-true」であるため、これがVisual Studioが参照を見つけることができない理由だと思います。
私の場合、同じマシンでMvc4を使用しており、自動的にバージョン4 dllを使用するため、設定をfalseに変更できません。
解決策は、System.Web.Mvc.dllのプロジェクト参照を削除して、再度追加することです。次に、VSはリファレンスとしてVersion-3.0.0.1-DLLを使用します。