Prism4 Bootstrapperをソースで参照されたUnityと共に使用しようとすると、エラーが発生し続けます(既存のプロジェクトをソリューションに含める)。また、ソースからUnityを構築する際にエラーが発生し、出力ファイルが含まれています。Prism Modularityを使用し、ソース単位でUnityを含むUnityコンテナエラー
詳細はこちら
私はPrism4を使用したプロジェクトを持っています。 PrismのBootstrapperコンポーネントは、Unity 2.0に依存しています。もっと正確に言えば、彼らはバージョン2.0.414.0の単一性に頼っています。
現在のバージョンまたは新しいバージョンのプリズムを私のプロジェクトにプリズム4として含めると、VSは最新のアセンブリのロードを強制するapp.configコードを生成するメッセージを表示します。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Practices.Unity" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.1.505.0" newVersion="2.1.505.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
ユニティ2.0とユニティ2.1のためのビルド済みのDLLファイルを使用している場合、これは問題なく動作します...
しかし、私はソースからこれらを構築し、新しいDLLを使用しようとする、または含まれている場合直接私のプロジェクトにプロジェクト私は常にエラーを取得:
The type 'Microsoft.Practices.Unity.IUnityContainer' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.Practices.Unity, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
マインドあなたはユニティ2.0は、[B] [/ B]バージョン2.0.414.0であること。だから私の最初の試みは、ユニティ2.0ソースベースを使用することでした。私は、新バージョンのプロジェクトから始めて、このバージョンを使って多くのその後の試みを行ってきました。私は、プリムビンファイル、ソース、カスタムビルドされたdllでプリズムを組み込み、同じ結果を得ようとしました。 Unity 2.1を使って同じことを試してみましたが、うまくいくと思っています。
私の環境はMSVC#2010 win7 x64です。私は、x86とすべてのCPU構成だけでなく、デバッグとリリースの両方で構築しました。依存関係はPrismとUnityだけです。
*修正* ...また、私がUnityBootstrapperを「PrismのBootstrapperコンポーネント」と呼んだとき、私は明確ではありませんでした。 –