2010-01-01 64 views
23

我想運行一個.NET 4.0控制檯應用程序,它引用了一個姊妹庫項目(Bar.dll),它本身引用VS2010 B2中的System.Web.Extensions。我目前只對訪問System.Web.Scripting.JavaScriptSerializer感興趣。System.Web.Extensions程序集無法解析

兩個項目必須System.Web.Extensions程序引用(使用應用程序引用對話框下的「.NET」中列出的),但是當我嘗試編譯/運行應用程序時,編譯器樹皮:

C:\Windows\Microsoft.NET\Framework\v4.0.21006\Microsoft.Common.targets(1291,9): 
warning MSB3253: The referenced assembly "Bar.dll" could not be resolved because it has a dependency on 
"System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client".

認真嗎?這是怎麼回事?爲什麼編譯器不能與程序集鏈接?

+1

再次查看「添加引用」對話框後,我看到System.Web.Extensions是針對v2.0.50727構建的。好的,所以這可能是問題所在。但是什麼程序集現在擁有System.Web.Scripting.JavaScriptSerializer? – 2010-01-01 02:31:57

回答

41
currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". 
                 ^^^^^^^^^^^^^^ 

您的目標客戶端配置文件不包含Web程序集。進入Project> Properties> Application並將Target Framework更改爲「.NET Framework 4」。

+0

呵呵。你是絕對正確的。我想我更好地瞭解這些配置文件。我無法相信他們會改變這樣的鏈接器規則。有什麼好的鏈接? – 2010-01-01 02:36:59

+1

http://windowsclient.net/wpf/wpf35/wpf-35sp1-start-here.aspx是一般客戶資料的良好起點。 http://blogs.msdn.com/bclteam/archive/2008/05/21/net-framework-client-profile-justin-van-patten.aspx有點過時(它指的是3.5 SP1測試版)但仍應該有助於清楚地瞭解內部和外部的內容。 – itowlson 2010-01-01 02:43:29

+0

+1的額外鏈接! – Craig 2011-05-19 13:30:01

相關問題