2011-03-01 18 views
3

我收到以下錯誤在VS2010設計師Visual Studio 2010的設計找不到裝配

System.Reflection.Adds.UnresolvedAssemblyException 類型宇宙無法解決裝配:Microsoft.Expression.Interactions,版本= 4.0 .5.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35。

這是一個Silverlight項目,項目引用了缺失的程序集。該項目編譯並運行良好。

我看着fuslogvw,我找不到那個錯誤信息。

我需要將dll複製到設計人員可以找到它的地方嗎?

+0

你試過重新引用程序集嗎?此外,如果您使用外部DLL以及示例代碼,請確保使用示例中使用的DLL的相同版本 – Majd

回答

1

如果您使用的是在Vista或Win7下從網上下載的壓縮.dll,則操作系統阻止功能可能會導致此問題。我在解壓文件之前寫了一個關於如何解鎖的blog post last week。我知道它解決了我與Ninject一樣的一個非常類似的問題。

0

我也遇到了這個問題,最終以不尋常但成功的方式解決了這個問題。

我們使用的是Blend SDK的System.Windows.InteractivityMicrosoft.Expressions.Interactions

一切工作正常,除非設計器崩潰時使用具有相同的異常繼承DataTrigger。這不會是一團糟,但是這個異常也會在整個XAML文檔中打破IntelliSense,這是不可接受的。

由於這是一個可反覆報告和報告錯誤,我決定使用反彙編來解決問題,因爲我們需要擴展到交互框架。

請參見:http://connect.microsoft.com/VisualStudio/feedback/details/648819/visual-studio-2010-silverlight-designer-crash

只是得到SharpDevelops ILSpy的版本,並在其中打開兩個組件。從列表中選擇組件並轉到文件 - >保存。這將拆卸整個項目。將它們集成在一個空白的解決方案中,並更改程序集名稱。將Expression.Interactions庫中的參考重新構建到新的反彙編版本。

AssemblyInfo.cs你可以做一個竅門。

Microsoft.Expression.Interactions

[assembly: XmlnsPrefix("http://yourdomain.com/interactions", "i")] 
[assembly: XmlnsDefinition("http://yourdomain.com/interactions", "Microsoft.Expression.Interactivity.Core")] 
[assembly: XmlnsDefinition("http://yourdomain.com/interactions", "Microsoft.Expression.Interactivity.Input")] 
[assembly: XmlnsDefinition("http://yourdomain.com/interactions", "Microsoft.Expression.Interactivity.Layout")] 
[assembly: XmlnsDefinition("http://yourdomain.com/interactions", "Microsoft.Expression.Interactivity.Media")] 

System.Windows.Interactivity

[assembly: XmlnsPrefix("http://yourdomain.com/interactions", "i")] 
[assembly: XmlnsDefinition("http://yourdomain.com/interactions", "System.Windows.Interactivity")] 

現在把新項目的引用在彙編,或構建組件和版本它們複製到您的庫文件夾並直接引用內置版本。

在XAML中添加新的命名空間到你的rootElement的像頁/窗口:

<RootElement xmlns:i="http://yourdomain.com/interactions"> 
    <!-- your xaml code --> 
    <i:Interaction.Triggers> ... </i:Interaction.Triggers> 
</RootElement> 

它的工作原理就像一個魅力。您可以將交互和表達式功能組合到一個xmlns中,當然,設計師的異常消失了,IntelliSense不會再中斷。