Я получаю это исключение в главном PrismDashboard проекта:PRISM: ссылки на библиотеки DLL в главном проекте, что модуль зависит от
Source\PrismDashboard\bin\Debug\PrismDashboard.vshost.exe System.Windows.Markup.XamlParseException occurred HResult=-2146233087 Message=Could not load file or assembly 'Microsoft.Expression.Interactions, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Это проект с Bootrstrapper и Shell. Это происходит потому, что Shell использует ModuleA из другого проекта:
Source\Modules\ModuleA
Это требует refrence к Microsoft.Expression.Interactions
и я могу видеть, что эта DLL существует в:
Source\Modules\ModuleA\bin\Debug
Я не получаю ошибку компиляции, и Я получаю ошибку времени выполнения. ModuleA View будет введен в область оболочки, и для этого представления требуется Microsoft.Expression.Interactions, на который ссылается проект ModuleA, но не в основном проекте с Bootstrapper и Shell.
Я не хочу добавлять ссылку на DLL, требуемую другими проектами в моем основном проекте. Пытались установить типы Embaded Interop по ссылке в ModulaA, но получаю ошибку:
Error 1 Cannot embed interop types from assembly 'c:\Program Files (x86)\Microsoft SDKs\Expression\Blend.NETFramework\v4.0\Libraries\Microsoft.Expression.Interactions.dll' because it is missing either the 'ImportedFromTypeLibAttribute' attribute or the 'PrimaryInteropAssemblyAttribute' attribute c:\Program Files (x86)\Microsoft SDKs\Expression\Blend.NETFramework\v4.0\Libraries\Microsoft.Expression.Interactions.dll ModuleA Error 2 Cannot embed interop types from assembly 'c:\Program Files (x86)\Microsoft SDKs\Expression\Blend.NETFramework\v4.0\Libraries\Microsoft.Expression.Interactions.dll' because it is missing the 'GuidAttribute' attribute c:\Program Files (x86)\Microsoft SDKs\Expression\Blend.NETFramework\v4.0\Libraries\Microsoft.Expression.Interactions.dll ModuleA
Я надеялся, что есть плагин или настройка, которая позаботится об этом. Предложение о настройке вывода - это тот, который пришел мне на ум, но ожидал чего-то еще. Это может быть действительно опасно, чтобы не получить ошибку времени компиляции, а вместо этого запустить временную ошибку. – user007