2009-03-05 75 views
0

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

+0

这不是一个答案,但是请帮助开发者并升级到VS2008SP1,他们会很高兴。它也解决了你的问题! – OregonGhost 2009-03-05 15:11:06

+0

是的,这真的是我的想法,但我相信公司真的很慢得到升级,所以间歇性修复会很好。 谢谢。 – Greg 2009-03-05 15:15:44

+0

您的项目有两个不同的版本是否有特殊原因? – 2009-03-05 15:17:36

回答

0

也许你应该降级到VS 2005--因为我现在正在使用VS08进行一个项目的工作,并且偶尔会引用dll的路径混淆,dll丢失 - 或者我们遇到同样的问题刚刚描述过,在更新之后,从一个用户添加的文件不在下一个用户的项目文件中。

+0

使用网站项目时会发生这种情况。您最好的选择是将其转换为Web应用程序项目。 WSP会自动扫描恰好在项目路径中的程序集和文件,然后自动添加它们。 – NotMe 2009-03-05 17:09:14

5

您需要将每个解决方案文件保存在同一个Visual Studio版本中。尽管将您的产品分成几个解决方案也没关系。在这种情况下,您可能拥有1个.sln文件来保存您的2005年项目和1个.sln来保存您的2008年项目。

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

6

在一个多个项目成员的团队中使用两个不同版本的Visual Studio绝对没有意义。我建议降级到Visual Studio 2005或升级到Visual Studio 2008.您可以在同一台机器上安装多个版本的Visual Studio,但不会产生副作用。

0

我不确定关于“网站”(而不是“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'" /> 

这两线将有条件地选择取决于版本的正确的MSBuild路径的VS使用。

相关问题