是的,我知道......我可以设置运行XP的虚拟机。不幸的是,我们的构建环境需要同时运行VC2003,2005和2008,如果我可以在Windows 7上本地运行2003我们需要它的少数项目会更方便。
我意识到IDE中可能没有一些东西可用,但我能够在Windows Vista下运行2003,如果我能在Windows 7下获得相同的基本功能,我会非常高兴。
现在我在切换vc2003以在XP SP 2的兼容模式下以管理员身份运行后编译时打开* .pdb文件时出错。
谢谢!
答案 0 :(得分:14)
如果你无法让它在本机上运行,请尝试使用XP模式。
答案 1 :(得分:9)
关于这一段时间我写了blog entry,你可以查看 - http://technikhil.wordpress.com/2010/01/12/visual-studio-2003-and-windows-7-can-get-along-really/
我现在唯一困扰的是VS 2003的全局搜索功能 - 它挂起了应用程序。我的解决方法是使用Windows 7搜索:-)。除此之外 - 到目前为止一直很好......
更新:我通过禁用Aero功能让搜索工作正常 - 我已使用详细信息更新了我的blog post ...
答案 2 :(得分:5)
(其中大部分重复了上面已经写过的内容。)
我需要在Win7 64位下运行VS2003作为管理员,以支持遗留项目(例如在原始Xbox上运行的项目)。旧的XDK需要VS2003,因此升级不是一种选择。我可以运行WinXP,但我更喜欢Win7。
Win7下没有正式支持VS2003,并试图这样做会产生一些相当恼人的问题:
Find-in-files导致VS2003挂起。 由于PDB文件句柄泄漏,链接失败。 使用“禁用可视主题”解决了“在文件中查找”的问题。导航到VS2003快捷方式(开始 - > Microsoft Visual Studio .NET 2003),右键单击以获取上下文菜单,选择“兼容性”选项卡,“设置”窗格,然后选中“禁用可视主题”。
当您通过调试器运行程序,停止它,修改文件和构建时,会发生链接器故障(LNK1201)。错误是Visual Studio保存PDB文件的句柄,而链接器尝试写入该文件。您可以停止并重新启动VS2003以绕过该问题。工作但很烦人。
您还可以使用Microsoft SysInternals“handle.exe”实用程序查找,然后关闭特定文件上进程持有的句柄。编写一个脚本来调用handle.exe并设置VS2003项目以将该脚本作为预构建事件运行。 (请参阅this thread。)但handle.exe需要以admin身份运行。
您可以假设将handle.exe更改为使用常规步骤以管理员身份运行(例如作为兼容性设置)但是然后handle.exe(显然)在嵌套shell中运行,然后stdout文本无法进入调用脚本。
你可以让VS2003以admin身份运行,在这种情况下,Pre-Build脚本也以admin身份运行,因此执行handle.exe,并且可以正常运行。
剩下的技巧是让VS2003 SLN文件正常打开。如果您只是让VS2003自动以admin身份运行,那么VS版本选择器无法运行VS2003。我不知道为什么,但事实确实如此。
您可以使用VS2003 devenv.exe而不是VSLauncher.exe将SLN文件关联。这有效,但所有新的SLN文件(2005年,2008年,2010年,2012年......)都无法打开。
因此,最后一步是让VSLauncher.exe以管理员身份运行。从KB2492386开始,此失败,如this thread所示。卸载该更新是这个传奇的最后一步,让一切顺利。
答案 3 :(得分:5)
现在补丁
经过一些逆向工程,我发现错误的refcounted COM对象负责泄漏(它被1关闭)并开发了一个稳定的补丁和相应的文章来描述修复。这解决了使用Windows 7到Windows 10时遇到的问题。详细信息和下载位于:
http://bytepointer.com/articles/vs7.1_2003_on_win7_pdb_handle_leak_bug_unofficial_fix.htm
如果您想手动执行修补程序,还会包含这些详细信息。
注意:SysInternals Handle工具解决方法不适用于网络共享上的文件。虽然Handle工具声称它已关闭,但.PDB并未完全解锁。我的解决方案一劳永逸地消除了这个问题,避免了任何副作用。
答案 4 :(得分:4)
运行此安装。您需要从安装目录运行它,cd根目录下的setup.exe将无效。
D:\ setup \ SetUp.exe / NO_BSLN_CHECK
答案 5 :(得分:3)
我在网上找到的解决方案有助于:对于您的visual studio,使用应用程序兼容性= windows vista SP2,而不是WinXP SP3
答案 6 :(得分:2)
对于pdb问题,我有一个非常肮脏和可怜的解决方法。
下载并运行Sysinternals-ProceXP,按CTRL-F输入链接时无法创建的pdb名称(smt like($ ProjectName).pdb)。找到它时双击。(如果找不到管理员权限的procexp)
然后您将看到.pdb文件在主屏幕的下部窗格中突出显示。右键单击它并选择Close Handle。当您重新构建解决方案时,它不会引发错误。
我不知道这个解决方案是否可以编写脚本,但它至少比重启visual studio更好。
答案 7 :(得分:2)
自从第一个RC版本发布以来,我一直在win7上使用Visual Studio 2003:S 为什么人们有问题?
答案 8 :(得分:1)
我尝试使用Virtual Windows XP功能在Windows 7 64位上安装VS2003。我有理由相信这会成功。我遇到的问题是安装程序需要安装IIS,而Virtual XP提供的XP安装默认情况下没有启用。
如果你去添加/删除组件,并尝试添加它,它将要求光盘,我手头没有。一旦我把手放在光盘上,我很确定它能正常运行。
如果您还没有尝试过其他应用,虚拟XP功能真的整洁......
答案 9 :(得分:1)
我遇到了同样的问题; devenv.exe在运行项目后打开pdb文件。我已经制作了一个批处理文件来处理它,它关闭了由devenv.exe打开的所有.pdb 文件:
handle.exe .pdb | awk "/devenv.exe/ { split($4, fd, \":\"); system(\"handle.exe -c \" fd[1] \" -y -p \" $3)}"
你需要在sysinternals中使用handle.exe,在你的路径中使用awk by gnu才能使它工作。
使用风险由您自行承担。关闭句柄可能会导致应用程序或系统不稳定。
答案 10 :(得分:0)
在Windows 7中,可执行属性中存在compatabiliy模式。 打开:C:\ Program Files \ Microsoft Visual Studio .NET 2003 \ Common7 \ IDE \ 然后右键单击devenv.exe并选择属性。在兼容性选项卡中,选择“在兼容模式下运行”,然后在下拉列表中选择“Windows XP”。
尝试一下,我不确定它是否有效,但值得一试。
答案 11 :(得分:0)
我对Windows 7 64位上的Visual Studio 2003没有任何问题。
答案 12 :(得分:0)
通过一些高级步骤,我使用运行Windows 7 Professional 64位的I7处理器和12GB RAM在我的HP EliteBook工作站8760W上运行Visual Studio .NET 2003。 它们如下:
然后它将始终显示带有以下消息的警报
此程序存在兼容性问题......
答案 13 :(得分:0)
我确实设法在32位Windows 7上安装了VS2003。但是,我必须做一些IIS技巧才能运行我的ASP.NET项目。安装VS2003 Web开发组件时,无法选择。基本上,您必须将VS2003 ASP.NET v1.1放入C:\ inetpub \ wwwroot \ project_name,并使其首先作为独立的Web门户在其自身上运行。这是我所做的步骤。
答案 14 :(得分:-2)
对不起,您的构建环境要求您同时运行VC 2003,2005和2008?我真的敢打赌,只需将您的构建环境整合到一个环境中,您的努力就会更好。
答案 15 :(得分:-2)
您是否考虑过将您的解决方案升级到vs2005,使用MSBEE定位.net 1.1?