nuget.core.dllバージョン番号の不一致
質問
nuget.serverパッケージによって作成されたWebサイトをどのように展開すべきかを理解できませんでした。 ASP.NET MVCはサーバーにインストールされていないため、プロジェクトに「展開可能な依存関係を追加」し、「Razor Syntaxを使用してASP.NET Webページ」を選択します。
それに関する問題は、バージョン1.0.11220.104にnuget.core.dllを追加することですが、nuget.serverパッケージは、バージョン1.3.20419.9005のnuget.core.dllの参照を追加します。
より高いバージョンを展開すると、私は手に入れました
ファイルまたはアセンブリ 'nuget.core、version = 1.0.11220.104 "メッセージをロードできませんでした。低いバージョンが展開された場合、コンパイラエラーメッセージ:CS1705:Assembly' nuget.server、バージョン= 1.3.20426.373、Culture = culture、publickeytoken = null 'ead' nuget.core、version = 1.30419.9005、culture = neutral、publickeytoken = 31bf3856ad364e35 'は、参照アセンブリ' nuget.core、バージョン= 1.0.11220.104、culture = culture、publictoken = 31bf3856ad364e35 '' "。
どうすればこれを解決できますか?
ありがとう。
解決
Visual Studioで「展開可能なビンを追加」オプションを使用した後、同じ問題に遭遇しました。 Haackedで提案されているように、アセンブリバインドリダイレクトを設定しましたが、実際に機能するように拘束力のあるredirectを変更しました。 ;)
<bindingRedirect oldVersion="0.0.0.0-1.3.20419.9005"
newVersion="1.3.20419.9005"/>
その後、system.web.webpages.administratorでerdemを取得しているエラーが発生しました。私はビンフォルダに入り、システムを削除しました。web.webpages.dllとすべてがライトアップして、今ではうまく機能します!
他のヒント
Web.configにバインディングリダイレクトを追加して、より高いバージョンを指してみてください。また、気にしない場合は、私たちを助けて、詳細なバグを記録してください http://nuget.codeplex.com/workitem/list/basic
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NuGet.Core"
publicKeyToken="31bf3856ad364e35"
culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0"
newVersion="1.3.20419.9005"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
唯一の組み合わされていない参照はMicrosoft.web.infrastructureであると思われます。これを解決するために、「Razor Syntaxを使用したASP.NET Webページ」の展開可能な依存関係を追加し、Microsoft.web.infrastructureを除く「_BIN_DEPLOYABLEASSEMBLIES」フォルダーのすべてのアイテムを削除しました。これにより、問題が修正されました。
なんて悪夢でしょう。それは2011年7月近くであり、私はこれがJavaプロジェクトであるかのように何時間も展開することをいじり回しています:(うーん
IIS6(Windows 2003 Server)の場合、Framework 4.0を使用してMVC3 / VS 2010を使用して展開します。
- 4.0を指す仮想ディレクトリ内でワイルドカードマッピングを実行します。
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
- 新しいアプリケーションプールを作成して、それを指すこともできます。
- それほど楽しくないアセンブリがありませんので、MVC 3アップデート(MVC 3も含む)をインストールするためにサーバーにアクセスできる場合は、それを行います。 http://www.asp.net/mvc サーバーにインストールします。
最初は、これらすべてのファイルをコピーしました
- Microsoft.web.infrastructure
- System.Web.Razor
- System.Web.WebPages
- system.web.webpages.razor、
ただし、サーバーにMVC 3をインストールする場合は、必要ではない場合があります。私が強調していた私にとっての取引ブレーカーは、このエラー「 'system.web.webpages.administration ...」でした。私はすべてを試しました。サーバーにMVCをインストールすることはそれを修正しました! GoDaddyおよびその他の.NETホスティングプロバイダーの場合、彼らはすでにMVCとアセンブリをインストールしている必要があります。