为啥将我的目标框架从“.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>

【讨论】:

谢谢西蒙。在我更改目标配置文件之前没有类似的行。该文件仅包含一个数据库连接字符串。我刚刚注意到以下内容:在更改框架之前,我有: 现在我有 。同样,对文件的这种更改不是我手动进行的。我应该把它改回来吗?另请注意,如果我删除该行,警告就会消失。 我这里的项目只有&lt;?xml version="1.0"?&gt;。我不确定删除线会有什么影响。 谢谢西蒙。我放弃了这个。我将配置文件恢复到 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?

为啥当我尝试将我的 Spring Boot 应用程序推送到 heroku 时它返回“致命错误编译:无效目标版本:11”

System.FormatException 从 4.7 运行 .NET Framework 2.0