安装4.x时提示安装.NET 3.5的Windows
问题描述:
我有一个用C#/ .NET编写的小命令行应用程序。我需要它在.NET 3.5或更高版本安装在操作系统上时运行。安装4.x时提示安装.NET 3.5的Windows
要做到这一点,我在app.config包含以下内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>
该项目框架设置好的来”的.NET Framework 3.5" 。
从我的理解,这两个设置应该向后兼容,以便当某人没有安装3.5,但已安装4.x,它将继续工作。
还有什么我不见了?从我的研究中,我认为我已经把所有这些东西组合在一起,以实现这一点。
编辑:根据下面的问题,这里也是参考和使用语句。有没有第三方组件
以下是在项目引用:
System.Core
System.Web.Extensions
System.Windows.Forms
和以下是我使用的语句:
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using System.Security.Cryptography;
using System.Web.Script.Serialization;
using System.Reflection;
using System.Diagnostics;
答
这是.NET框架的一个已知限制 - 从4开始,如果没有安装以前(在您的情况下,目标版本),它不允许应用程序在自己的运行时间内执行。
3.5是基于不同的CLR(2.0),因此有些compat问题。您需要将您的项目重新定位到4.0(或更高版本)以避免框架安装提示问题。
你有第三方组件? –
我不会,我会添加引用和使用原来的问题 – Josh
尝试添加'sku',http://*.com/questions/6739412/require-the-net-4-0-full-profile- with-supportedruntime –