2012-09-20 32 views
1

我正在编写一个C#项目,我想在VS2010和VS2012下编译这两个项目。我想为此提供两个不同的.csproj文件,即使VS2010-project可以直接包含在VS2012解决方案中。由于不同的目标.NET版本,我需要两个不同的项目文件。VS2010和VS2012在同一目录中的两个C#项目文件

此外,我希望这两个项目在VS2010和VS2012的不同解决方案中命名相同。两者应共享相同的.cs文件以及可能的一些资源。

简单的任务?奇怪的事情,但我不知道,如何做到这一点。

  • 第一的方针,不工作:名称项目文件作为MyProject10.csprojMyProject12.csproj,无论是在MyProject文件夹离开。但在这种情况下,它们在解决方案中显示为MyProject10MyProject12,而不仅仅是MyProject。如果我在解决方案资源管理器中将其重命名为MyProject,它会自动重命名相应的项目文件。

  • 第二种方法,工作,但有缺点。将项目文件移动到名为VS10VS12的不同子目录中,手动更改.csproj文件中的包含路径,并将..\添加为前缀。在这种情况下,我在解决方案资源管理器中的图标下看到奇怪的快捷方式箭头。

第二个方法,唯一不好的是,当我使用的解决方案资源管理器在项目中添加新的文件,该文件被放置在VS10子目录,而不是在项目根目录。但似乎.csproj的项目目录文件是包含设计文件的目录,而我使用了我真正不想做的力量的黑暗面。

有什么更好的点子?

+2

为什么不一个项目有两个不同的构建配置文件? –

+0

@JonSkeet因为我想在VS2010下编译为.NET 4,在VS2012下编译为.NET 4.5。我想我应该有两个不同的项目。 – Mikhail

+1

在一个项目中使用不同的配置可以将不同版本的.NET作为目标 - 您需要手动编辑项目文件,但这是可能的。 –

回答

0

值得一试的是将两个项目中输出程序集的名称更改为同一个。项目文件仍然会有所不同,但输出程序集将具有相同的名称。还要小心输出目录在哪里。我认为这样你可以解决你的问题。

相关问题