2011-11-16 58 views
13

似乎開始與.NET 3.0,微軟移動一些常見的組件,以缺少引用的程序文件夾的.NET 4.0

C:\Program Files\Reference Assemblies\Microsoft\Framework\xxx

,以支持他們的努力,打出CLR 2.0和4.0 CLR GAC(還添加了

C:\%windir%\Microsoft.NET\assembly)。

不過,雖然我都

C:\Program Files\Reference Assemblies\Microsoft\Framework\xxx

我的開發機器上

,後者不,我剛安裝了.NET 4.0的服務器上存在。正在部署的WCF項目引用了該文件夾中的一些常見DLL,無法找到它們。

我在做什麼錯?我是否應該明確地將這些引用更改爲新的4.0 GAC?爲什麼這個文件夾不存在於服務器上?

+1

您確定沒有在64位計算機上安裝32位.net 4.0,並且引用程序集文件夾已經以'Program files(x86)'結尾? –

+0

@KlausByskovHoffmann服務器也是32位的,所以沒有'Program files(x86)'文件夾。好的建議,但! –

回答

21

「引用程序集」文件夾與Visual Studio配合使用。雖然實際部署的應用程序將使用c:\​​ Windows \ Microsoft.Net \ Assembly中的GAC。我假設你沒有在你的服務器上安裝Visual Studio,因此你不會有Reference Assemblies文件夾。

如果您在服務器上託管WCF,則需要確保安裝了.NET 4.0 Full Framework而不僅僅是客戶端框架。

+1

接受了答案,因爲它正確地解釋了.NET 4.0中設置的GAC/Reference Assemblies。然而,就我而言,事實證明,我錯過了服務器上的一些非框架DLL,它們是我的麻煩的根源。感謝您指點我正確的方向! –

+0

有一點需要注意的是,參考程序集的內容與VS *以及幾個SDK一起提供,甚至還有Microsoft *的單獨下載。 –

+0

@LexLi你能指出你指的是哪個SDK? – arviman