gpt4 book ai didi

c++ - 为什么我的 Visual Studio Win32 项目需要安装 .NET 3.5 SP1?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:13:22 28 4
gpt4 key购买 nike

使用 Visual Studio 2008,我创建了一个 C++ Win32项目。为了发布该程序,我在同一解决方案中创建了一个 Visual Studio 安装项目。

setup.exe 提示我的用户安装 .NET 3.5 SP1,这通常需要 15 分钟以上的安装时间,并且只允许管理员级别的帐户使用。如果他们不这样做,就会出现类似于“错误框架”的错误。我对我的项目中需要 .NET 3.5 SP1 的内容感到困惑。我怀疑只是因为那是我的 PC 所使用的框架...有没有办法扩大它将运行的框架?

代码主要是 Win32 API 调用。为了以防万一,这是我的依赖项和#includes:

gdiplus.lib
comctl32.lib
Winmm.lib
d3d9.lib

(安装项目自动添加comdlg32.dll,然后告诉我排除它。)

#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string.h>

#include <commctrl.h>
#include <process.h>
#include <sstream>
#include <math.h>
#include <d3d9.h>
#include <time.h>
#include <gdiplus.h>

我的猜测是通过 windows.h 的某处有一个 WIN_VER 或类似的版本设置被设置为 .NET 3.5 SP1,这就是依赖性的来源。如果是这种情况,并且我需要定义一个不同的版本,我很想听听每个人关于该做什么/不该做什么以及如何做以及我可以追溯到多远才能最大限度地包含在内的建议。

最佳答案

在 VS 2008 中,默认目标框架是 .NET 3.5。

对于 C++,在公共(public)属性页面上有一个“目标框架”下拉列表,但在我创建的测试项目中它是灰色的,因此看起来项目创建后无法更改。

我创建了第二个 C++ 项目并从“新建项目”对话框中选择了 2.0 模板,它在“目标框架”中有 2.0。

因此,如果您想要以较低版本的框架为目标,看起来您必须首先正确地创建您的项目。

编辑:至于你应该定位哪个版本的框架 - 这完全取决于(!)

您需要使用任何 3.0 或 3.5 功能吗?如果没有,那就去 2.0。如果您这样做,请选择那个并点击下载。我不能说任何类别的用户安装特定版本的可能性有多大。随着时间的推移,他们将越来越有可能安装 3.5,因为其他应用程序将需要它。

关于c++ - 为什么我的 Visual Studio Win32 项目需要安装 .NET 3.5 SP1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/768585/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com