Visual studio VS 2005和VS 2008在同一项目上工作的开发人员

Visual studio VS 2005和VS 2008在同一项目上工作的开发人员,visual-studio,build-process,compatibility,Visual Studio,Build Process,Compatibility,我们有一个解决方案,它有一个网站和一个类库。我们也有开发人员在VS2005和VS2008中工作。问题是,当用户添加文件/从类库中删除文件时,它不会被添加到使用其他版本VS的用户的项目文件中。此外,我还必须设置自动生成以使用一个项目文件。有没有办法解决这个问题,或者我们需要将每个人都升级到2008年?也许你应该降级到VS 2005-因为我现在正在使用VS08进行一个项目,时不时地引用的DLL的路径会混淆,DLL会丢失-或者我们遇到了与你刚才描述的相同的问题,即从一个DLL添加的文件更新后,用户不在

我们有一个解决方案,它有一个网站和一个类库。我们也有开发人员在VS2005和VS2008中工作。问题是,当用户添加文件/从类库中删除文件时,它不会被添加到使用其他版本VS的用户的项目文件中。此外,我还必须设置自动生成以使用一个项目文件。有没有办法解决这个问题,或者我们需要将每个人都升级到2008年?

也许你应该降级到VS 2005-因为我现在正在使用VS08进行一个项目,时不时地引用的DLL的路径会混淆,DLL会丢失-或者我们遇到了与你刚才描述的相同的问题,即从一个DLL添加的文件更新后,用户不在下一个解决方案的项目文件中。

您需要将每个解决方案文件保持在相同的visual studio版本上。不过,可以将您的产品分成几个解决方案。在这种情况下,您可能有1.sln文件保存2005年的项目,1.sln文件保存2008年的项目


正如您所提到的,没有自动的方法来保持2005年和2008年项目的同步,因为当您将一个文件添加到其中一个项目时,另一个项目将不会有该新文件。删除文件时也是如此

在一个由多个项目成员组成的团队中使用两个不同版本的Visual Studio绝对没有意义。我建议降级到VisualStudio2005或升级到VisualStudio2008。您可以在同一台计算机上安装多个版本的Visual Studio,而不会产生任何副作用。

我不确定“网站”(而不是“Web应用程序”)项目,但通常2005年和2008年不需要不同的项目文件。您只需要单独的解决方案文件

只需在2008年打开您的2005项目,并允许它升级您的解决方案/项目。您可能会看到一个对话框,要求您更新CLR版本,只需说“不”

一旦你有了一个有效的2008年解决方案,将*.sln文件复制到另一个名称(我称之为我的副本*.2005.sln),在记事本中打开复制的*.sln文件,或者打开你最喜欢的文本编辑器。在第二行找到“格式版本10.0”,并更改为“格式版本9.0”。保存文件

就是这样,您升级的解决方案文件在VS 2008中有效,而您复制和更改的解决方案文件在VS 2005中有效

如果您有Web应用程序项目,还有一个额外的步骤。在Web应用程序的vbproj或csproj文件中,找到以下行:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplications.targets" Condition="" />

并将这一行替换为以下两行:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplications.targets" Condition="'$(Solutions.VSVersion)' == '8.0'" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplications.targets" Condition="'$(Solutions.VSVersion)' == '9.0'" />


这两行将根据所用VS的版本有条件地选择正确的MSBuild路径。

这不是答案,但请帮助开发人员升级到VS2008SP1,他们会很高兴的。它也解决了你的问题!是的,这确实是我所想的,但我相信公司在升级方面会非常缓慢,所以间歇性的修复会非常好。谢谢。你的项目有两个不同版本的原因吗?因为我们有2005年的x个版本和2008年的y个版本,还有x+y开发者。。这不是一个好答案,但你知道公司有多便宜。只要将它们添加到源代码管理中,您仍然可以从其他版本的VS获取它们;您只需“添加现有项目”。2008年的项目将在2005年正常开放。只有2008年的解决方案文件在2005年不会打开。保留2005和2008解决方案文件,使两者都引用相同的2008项目文件。看到我的答案了。-1在一个钱长在树上的世界里,没有许可问题,开发者可以在那里的工作站上安装他们想要的任何东西,这可能“毫无意义”。然而,在现实世界中……很抱歉,在使用不同的IDE时,您在保持项目同步方面花费的时间将比Visual Studio许可证花费更多的成本。一个工匠不应该试图通过他的工具来省钱。我有一个合理的情况,我们需要这个。团队中的大多数人还不能迁移到2008年,但是团队使用wpf的工具确实如此。这些工具使用一些共享库,因此我们需要保持2008和2005项目的同步。在处理网站项目时经常发生这种情况。您最好将其转换为Web应用程序项目。WSP自动扫描恰好位于项目路径中的程序集和文件,然后自动添加它们。WAP仅在无法在预期位置找到程序集时进行扫描。由于很多原因,这仍然是不好的。虽然准确地说明了如何将VS2008解决方案转换为VS2005解决方案,但它没有解决如何保持这两个文件同步的问题。OP询问了如何保持项目文件同步。我是说不要同步项目文件,只要重复使用相同的项目文件即可。仅在不同版本之间更改解决方案文件。解决方案文件多久更改一次?