當試圖使用Prism4 Bootstrapper與由源引用的Unity(包括現有項目到解決方案)時,我不斷收到錯誤。我還從源代碼構建Unity時出錯,然後包括輸出文件。Unity容器錯誤使用棱鏡模塊化和包括Unity的源
這裏是詳細信息:
我有一個項目使用Prism4。 Prism的Bootstrapper組件依賴於Unity 2.0。更準確地說,他們依靠統一的版本2.0.414.0。
如果我嘗試在Prism 4中包含當前或更新版本的Prism到我的項目中,那麼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>
當使用預置的dll文件的統一2.0和2.1團結,這個工作不會有問題......
但是,如果我嘗試從源代碼編譯它們並使用新的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'.
請注意,Unity 2.0 [b] IS [/ b]版本2.0.414.0。所以我第一次嘗試使用unity 2.0源代碼。我也做了很多使用這個版本的嘗試,包括從一個新項目開始。我已經嘗試了通過預先構建的bin文件,源代碼和定製的dll來獲得相同的結果。我也嘗試使用Unity 2.1的所有相同的東西,希望它可以工作。
我的環境是MSVC#2010 win7 x64。我已經構建在x86和任何CPU配置以及調試和發佈。唯一的依賴是Prism和Unity。
*糾正* ...另外我不清楚UnityBootstrapper,當我將它稱爲」Prism的Bootstrapper組件「。 –