2012-04-09 148 views
1

我從一個開發人員那裏繼承了一個Silverlight項目,他剛剛升職並退出,沒有任何指令或文檔(無論如何)。爭先恐後拾起碎片,讓我的沙箱工作。.NET/Silverlight缺少DLL

公司給了我一個VS 2010 Developer的許可證,我已經安裝了。我打開項目的SOLUTION文件並嘗試清理 - >構建它,但得到編譯器錯誤。它缺少System.Windows.Interactivity.dll文件。我已經安裝了Silverlight SDK和Expression Blend,這是前兩個地方的SO問題(類似對此,但不完全相同!)推薦看。

雖然我看到它的Expression Blend的安裝裏面,當我嘗試將其添加爲Silverlight項目,我得到以下錯誤的引用:

You can't add a reference to System.Windows.Interactivity.dll as it was not built against the Silverlight runtime. Silverlight projects will only work with Silverlight assemblies.

什麼是我選擇這裏?!?提前致謝。

回答

4

當您添加引用時,請驗證您是否添加了Silverlight文件夾下的dll(即,「Silverlight」應位於程序集名稱的路徑中)。

應該在以下文件夾中找到(排除 「(86)」,如果在運行32位Windows),這取決於SL 4.0或5.0:
通過表達混合4安裝:
C:\程序文件(x86)\微軟的SDK \表達\混合\ Silverlight的\ V4.0 \庫

微軟Expression Blend中預覽安裝的Silverlight 5:http://www.microsoft.com/download/en/details.aspx?id=9503
C:\ Program Files文件(x86)的\ Microsoft SDKs \ Expression \ Blend \ Silverlight \ v5.0 \ Libraries

+0

是的多數民衆贊成在問題,**沒有在Silverlight文件夾**下的DLL! – IAmYourFaja 2012-04-09 17:15:55

+0

如果它應該在那裏,請給我一個鏈接到包含此DLL的Silverlight安裝程序!我可能安裝了錯誤的東西。如果你可以在C:/ Program Files/Microsoft SDKs /(我相信*是適當的地方)下提供一個鏈接來安裝這個DLL,我很樂意給你一個綠色檢查! – IAmYourFaja 2012-04-09 17:19:42

+0

不確定您的應用是否爲SL 4.0或5.0構建,但我在答案中添加了更多詳細信息。 – 2012-04-10 13:24:00

0

的文件是在程序文件(x86)

C:\Progra~2\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries\System.Windows.Interactivity.dll 
C:\Progra~2\Microsoft SDKs\Expression\Blend\Silverlight\v4.0\Libraries\System.Windows.Interactivity.dll 
C:\Progra~2\Microsoft SDKs\Expression\Blend\Silverlight\v5.0\Libraries\System.Windows.Interactivity.dll 
1

的快速和骯髒的解決辦法是安裝Blend SDK for Silverlight。從你所描述的這些程序集應該已經在你的系統上,但由於某些原因,他們不是(或他們在一個奇怪的地方)。你描述的錯誤的原因是你試圖將程序集的WPF版本添加到Silverlight項目中,這顯然是一個禁忌。 (有兩種方法可以解決這個問題:WPF版本應該有4.x版本,而Silverlight版本對於SL4將有2.x版本或5.x版本,所以你可以通過版本號進行區分,或者你可以得到一個像Productivity Power Tools這樣的Visual Studio擴展,爲您提供更好的添加引用的方法。)

請注意,如果您在做Silverlight 5,獲取這些程序集的唯一方法是安裝Blend Preview for Silverlight 5。尚不存在用於Silverlight 5 Blend SDK的獨立安裝程序。