We have a build box that uses CruiseControl.Net and has been building VB.Net and C# projects using msbuild. All I have installed on the box as far as .Net is concerned is .Net 2.0 SDK (I'm trying to keep the box as clean as possible). We are now trying to get a C++ app building on this box. The problem we are running into is that the header files (e.g. windows.h) are not installed with the SDK.
我们有一个使用CruiseControl.Net的构建盒,并使用msbuild构建VB.Net和C#项目。就.Net而言,我在盒子上安装的所有内容都是.Net 2.0 SDK(我试图让盒子尽可能保持干净)。我们现在正试图在这个盒子上构建一个C ++应用程序。我们遇到的问题是头文件(例如windows.h)没有随SDK一起安装。
Do I have to install VS 2005 to get this to work?
我是否必须安装VS 2005才能使其正常工作?
Edit:
As a couple people have answered, I had actually downloaded the 3.5 Platform SDK, but the applications built on this box MUST run on boxes that do not have 3.5 installed. By installing the 3.5 SDK on my 2.0 build box, am I compromising my build box?
有几个人已经回答,我实际上已经下载了3.5平台SDK,但是在这个盒子上构建的应用程序必须在没有安装3.5的盒子上运行。通过在我的2.0构建盒上安装3.5 SDK,我是否会破坏我的构建盒?
Edit:
I'm going to leave this as unanswered, but thought I would add that I went ahead and installed Visual Studio on the box and all is well. I hate having to do that, but didn't want to run the risk of having a 3.5 SDK on my 2.0 build box. I would still love to hear a better solution.
我要留下这个没有答案,但我想我会补充一点,我继续在盒子上安装Visual Studio,一切都很顺利。我讨厌必须这样做,但不想冒险在我的2.0构建盒上安装3.5 SDK。我仍然希望听到更好的解决方案。
5 个解决方案
#1
1
Visual Studio is not needed, but for C++ you need the Platform SDK as well:
不需要Visual Studio,但对于C ++,您还需要Platform SDK:
Edit: There is also one for Windows 2008/Vista, not sure which is the correct one:
编辑:还有一个用于Windows 2008 / Vista,不确定哪个是正确的:
#2
0
No, you have to install the windows platform SDK.
不,您必须安装Windows平台SDK。
You'll need to download this:
你需要下载这个:
Edit: @Michael Stum You need the Server 2008 / Vista / .NET 3.5 SDK version.
编辑:@Michael Stum您需要Server 2008 / Vista / .NET 3.5 SDK版本。
#3
0
Depending on what you are using in C++ (MFC, ATL, etc) you are probably going to have to install Visual Studio Professional (not express) as a lot of the libraries and headers are part of Visual Studio and not included in the SDK or Visual Studio Express (if you are doing managed C++ using .Net as the main framework then installing the SDK will be enough). We run our build boxes on VM's and so like to have as little installed as possible, so I spent a fair bit of time trying to get things working by installing as little as possible and for our C++ I ended up having to install Visual Studio.
根据您在C ++(MFC,ATL等)中使用的内容,您可能必须安装Visual Studio Professional(不是表达式),因为许多库和头文件是Visual Studio的一部分,不包含在SDK中或Visual Studio Express(如果您使用.Net作为主框架进行托管C ++,那么安装SDK就足够了)。我们在VM上运行我们的构建盒,所以尽可能少地安装,所以我花了相当多的时间尝试通过尽可能少的安装来完成工作,而对于我们的C ++,我最终不得不安装Visual Studio。
#4
0
I don't see why having .NET 3.5 would comprimise the build box - 2.0 and 3.5 co-exist without a problem. The only concern I could see would be a developer upgrading a solution to VS2008 without your "permission" and the build not failing...
我不明白为什么.NET 3.5会使构建框变得复杂 - 2.0和3.5共存而没有问题。我能看到的唯一问题是开发人员在没有“许可”的情况下将解决方案升级到VS2008并且构建没有失败......
#5
0
In general, you need some set of SDKs (Software Development Kits) to be able to build, and some set of redistributable packages to run.
通常,您需要一些SDK(软件开发工具包)才能构建,并且需要一些可再发行的软件包才能运行。
In case it's not obvious, you should be testing your product on an otherwise clean machine before you ship, so you know you got the dependencies right.
如果不是很明显,您应该在发货之前在其他干净的机器上测试您的产品,这样您就知道您的依赖性是正确的。
#1
1
Visual Studio is not needed, but for C++ you need the Platform SDK as well:
不需要Visual Studio,但对于C ++,您还需要Platform SDK:
Edit: There is also one for Windows 2008/Vista, not sure which is the correct one:
编辑:还有一个用于Windows 2008 / Vista,不确定哪个是正确的:
#2
0
No, you have to install the windows platform SDK.
不,您必须安装Windows平台SDK。
You'll need to download this:
你需要下载这个:
Edit: @Michael Stum You need the Server 2008 / Vista / .NET 3.5 SDK version.
编辑:@Michael Stum您需要Server 2008 / Vista / .NET 3.5 SDK版本。
#3
0
Depending on what you are using in C++ (MFC, ATL, etc) you are probably going to have to install Visual Studio Professional (not express) as a lot of the libraries and headers are part of Visual Studio and not included in the SDK or Visual Studio Express (if you are doing managed C++ using .Net as the main framework then installing the SDK will be enough). We run our build boxes on VM's and so like to have as little installed as possible, so I spent a fair bit of time trying to get things working by installing as little as possible and for our C++ I ended up having to install Visual Studio.
根据您在C ++(MFC,ATL等)中使用的内容,您可能必须安装Visual Studio Professional(不是表达式),因为许多库和头文件是Visual Studio的一部分,不包含在SDK中或Visual Studio Express(如果您使用.Net作为主框架进行托管C ++,那么安装SDK就足够了)。我们在VM上运行我们的构建盒,所以尽可能少地安装,所以我花了相当多的时间尝试通过尽可能少的安装来完成工作,而对于我们的C ++,我最终不得不安装Visual Studio。
#4
0
I don't see why having .NET 3.5 would comprimise the build box - 2.0 and 3.5 co-exist without a problem. The only concern I could see would be a developer upgrading a solution to VS2008 without your "permission" and the build not failing...
我不明白为什么.NET 3.5会使构建框变得复杂 - 2.0和3.5共存而没有问题。我能看到的唯一问题是开发人员在没有“许可”的情况下将解决方案升级到VS2008并且构建没有失败......
#5
0
In general, you need some set of SDKs (Software Development Kits) to be able to build, and some set of redistributable packages to run.
通常,您需要一些SDK(软件开发工具包)才能构建,并且需要一些可再发行的软件包才能运行。
In case it's not obvious, you should be testing your product on an otherwise clean machine before you ship, so you know you got the dependencies right.
如果不是很明显,您应该在发货之前在其他干净的机器上测试您的产品,这样您就知道您的依赖性是正确的。