2015-06-22 65 views
1

我有这个大会针对.NET 3.5。该代码也适用于更高版本,但我喜欢这个工作在Windows XP。我的意思是,.NET是向后兼容的,对吧?我可以运行应用程序NET 3.5Windows 8.1Visual Studio大会强制安装目标框架

然而,当我跑我自己组装,这需要安装.NET 3.5第一,虽然我已经有4.5.1安装。

如何防止安装3.5当已经安装了更新的东西时,其余3.5兼容?

+1

什么* *正是你说的意思是 “当我跑我自己集结号”?你在Visual Studio中建立这个程序集吗?如果是这样,它将需要.NET 3.5来知道哪些成员可用。 –

+0

是的,我在'Visual Studio'中建立了'.NET 3.5'。当我用'.NET 4.5'或'4.5.1'在机器上部署它时,它希望我下载并安装'.NET 3.5',即使它运行良好。 – Redsandro

回答

2

有针对性的.NET版本是该应用程序默认依赖的唯一版本。 Visual Studio不会自动添加更高和向后兼容的版本。

做到这一点通过添加其他.NET版本的配置文件手动:

  1. 在Visual Studio菜单栏:
    • 选择项目;
    • 添加新条目;
    • 从左侧窗格中选择常规;
    • 选择应用程序配置文件;
    • 命名配置文件appName.exe.config
  2. 每一个.NET版本添加一个项目,像这样:

代码:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
    <supportedRuntime version="v2.0.50727"/> 
    <supportedRuntime version="v4.0"/> 
    </startup> 
</configuration> 

MSDN: Configure an App to Support .NET Framework 4 or 4.5


在.NET Framework 4.5和其点发布与向后兼容的应用程序与早期版本的.NET Framework一起构建。换句话说,使用以前版本构建的应用程序和组件无需修改就可以在.NET Framework 4.5上运行。但是,默认情况下,应用程序在开发它们的公共语言运行库的版本上运行,因此您可能必须提供配置文件以使您的应用程序能够在.NET Framework 4.5上运行。有关更多信息,请参阅本文前面的应用程序的版本兼容性部分。

See MSDN

+0

看起来我需要'appName.exe.config'。它在[这里]提到(https://msdn.microsoft.com/en-us/library/jj152935(v = vs.110).aspx)。我会尽快查看。感谢您指引我朝着正确的方向发展,尽管如果答案中提供了解决方案(对于旁观者和我自己而言)更好,而不是点击几下鼠标。 – Redsandro

+0

答案是一个复杂的多步骤过程,人们已经知道在哪里寻找。我怀疑在我的答案中嵌入整个MSDN主题会让任何人获益。在这种情况下,我认为让人们在正确的地方/正确的话题应该够用了,尽管我肯定会在其他话题上采取不同的行动。 – fk2

+1

我不同意,因为我的具体问题的答案其实很简单。但我是一个绅士,所以我不会添加自己的答案并接受它,我会编辑你的,添加相关步骤并接受它。 :) – Redsandro