据我所知,Silverlight应用程序不能在.NET Framework的CLR上运行,而是在其独立的子集版本上运行,称为Core CLR。我也知道我可以在项目属性窗口中更改Silverlight版本:
然而,当我通过 New Project 对话框创建Silverlight应用程序项目时,我可以选择.NET Framework版本:
这种.NET Framework版本的选择是否对Silverlight项目有任何影响,或者忽略此设置?
答案 0 :(得分:2)
简答: .NET Framework版本选项对创建的Silverlight项目没有立即影响,但对将托管Silverlight应用程序的(可选)ASP.NET Web应用程序项目没有影响。
更长的回答:
创建Silverlight应用程序项目时,Visual Studio将询问您是否还要创建一个ASP.NET Web应用程序项目来托管Silverlight应用程序:
如果您选择创建此类项目,它将定位在前面的 New Project 对话框中选择的.NET Framework版本。
要验证.NET Framework版本选项是否真的对Silverlight项目本身没有影响,我创建了两个Silverlight应用程序项目,一个选择了.NET Framework 4,另一个项目使用.NET Framework版本4.5.1。然后我比较了两个生成的.csproj
项目文件。两个项目文件都没有提到任何.NET Framework版本,而是提到:
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>