为啥将我的目标框架从“.NET Framework 4 Client Profile”更改为“.NET Framework 4”会出现警告消息?
Posted
技术标签:
【中文标题】为啥将我的目标框架从“.NET Framework 4 Client Profile”更改为“.NET Framework 4”会出现警告消息?【英文标题】:Why did changing my target framework from ".NET Framework 4 Client Profile" to ".NET framework 4" give me warning messages?为什么将我的目标框架从“.NET Framework 4 Client Profile”更改为“.NET Framework 4”会出现警告消息? 【发布时间】:2011-09-16 13:19:07 【问题描述】:行:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
已添加到我的 App.config 文件中,现在我收到警告消息:
找不到元素“supportedRuntime”的架构信息
找不到属性“版本”的架构信息
找不到属性“sku”的架构信息
我可以从配置文件中删除该行吗?运行应用程序时一切正常。
【问题讨论】:
【参考方案1】:如果您的应用程序旨在针对客户端配置文件,您应该设置您的 app.Config 以匹配。如果您想以完整的 .NET Framework 为目标,请确保在 Visual Studio 的项目设置窗口中将您的项目类型更改为 .NET 4 Framework。
【讨论】:
我确实需要定位完整的个人资料。我进行了更改,以便可以访问 System.Web.dll 中的方法。项目设置窗口在哪里?你是什么意思改变项目类型?该项目是一个控制台应用程序。 在解决方案资源管理器中,查找项目。右键单击,然后选择“属性” - 它会打开项目窗口,您可以在其中设置框架目标。 是的,这首先是导致问题的原因。我更改了目标框架以便能够引用 System.Web。我的问题不是很清楚我改变了目标框架吗?我很困惑。【参考方案2】:这条线没有错。从错误消息中,听起来您的 app.config 中的前一行有错误或未关闭,或者该行已从正确的位置移动。 这是从工作项目中复制的:
<configuration>
<!-- Other configuration -->
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
【讨论】:
谢谢西蒙。在我更改目标配置文件之前没有类似的行。该文件仅包含一个数据库连接字符串。我刚刚注意到以下内容:在更改框架之前,我有: 现在我有 。同样,对文件的这种更改不是我手动进行的。我应该把它改回来吗?另请注意,如果我删除该行,警告就会消失。 我这里的项目只有<?xml version="1.0"?>
。我不确定删除线会有什么影响。
谢谢西蒙。我放弃了这个。我将配置文件恢复到 IDE 更改之前的状态,一切正常。我仍然不知道为什么 MS 想在配置中添加“SupportedRuntime....”的东西,但这似乎没有必要。
我遇到了示例问题,无法让警告消失。【参考方案3】:
这些行不是必需的。我需要编写一个控制台应用程序来使用 asp.net 会员提供程序。 System.web 不适用于客户端配置文件。所以我改为.Net framework 4。我删除了这些行,它没有给我带来任何问题。 不知道为什么首先需要它。
【讨论】:
以上是关于为啥将我的目标框架从“.NET Framework 4 Client Profile”更改为“.NET Framework 4”会出现警告消息?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 .net 项目针对 .net framework 3.5 的 System.dll 版本是 2.x?
为啥安装 .NET Framework 4.51 会导致针对框架版本 4 的应用程序中出现“Microsoft.SqlServer.Types 错误”
如何将.net framework 4.5升级到.net框架4.6?
为啥 .NET framework 3.5 离线安装程序比 .NET 4 离线安装程序大 200 MB?