3

MVC3.0プロジェクトとMVC4.0プロジェクトが並んでいます

ここに画像の説明を入力してください

これは、2つのソリューション間のリソース共有のために行いました。設定ファイルを変更すると正常に動作します。詳細の変更。

MVC3では。

<assemblies>
  <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>

<pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages"/>
      </namespaces>
    </pages>

<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />MVC 4を削除すると、正常に動作しています。MVC 3.0でプロジェクトをデバッグした後The type or namespace name 'Ajax' does not exist in the namespace 'System.Web.Mvc' (are you missing an assembly reference?) 、「System.Web.Mvc、Version = 3.0.0.0」を削除したため、エラーmsg()が表示されます。実行する必要がある場合は、参照を再度配置する必要があります。ここで私はすべてを手動で行っていますが、これを自動的に行う方法はありますか?

たとえば、サーバー側の2つのxmlファイルは、そのxmlファイルを読み取り、構成ファイルを置き換えます。

すでに試しました。

MVC 4プロジェクトWebConfigurationManagerでは、それが機能する参照を削除するためにを使用しました。MVC3を開いた後、エラーメッセージが表示されます。

4

1 に答える 1

3

Mvc3の新しいビルド構成を作成し、web.configを上書きするビルド前イベントを実行することができます。これは、Hanselmanから採用したアイデアです。

リンクをたどると、セットアップの唯一の違いは、次のような設定があることです。

Web.Config.Mvc3  (and possibly Web.Config.Mvc3Release)

Mvcをデフォルトのビルドのままにします

Web.Config.Debug
Web.Config.Release
于 2012-11-26T13:11:19.293 に答える