我正在写一个C#项目,我想在VS2010和VS2012下编译它。我想要两个不同的.csproj
文件,即使VS2010项目可以直接包含在VS2012解决方案中。我想要两个不同的项目文件,因为目标.NET版本不同。
此外,我希望在VS2010和VS2012的不同解决方案中,两个项目的名称相同。两者应该共享相同的.cs
-文件,并且可能共享一些资源。
任务简单吗?奇怪的事情,但我不知道,如何正确地做到这一点。
-
第一种方法不起作用:将项目文件命名为
MyProject10.csproj
和MyProject12.csproj
,将两者都保留在MyProject
文件夹中。但在这种情况下,它们在解决方案中显示为MyProject10
和MyProject12
,而不仅仅是MyProject
。如果我在解决方案资源管理器中将一个重命名为MyProject
,它会自动重命名相应的项目文件。 -
第二种方法有效,但也有缺点。将项目文件移动到名为
VS10
和VS12
的不同子目录中,手动更改.csproj
-文件中的包含路径,并添加..
作为前缀。在这种情况下,我在解决方案资源管理器的图标下看到了奇怪的快捷方式,如箭头。
第二种方法唯一不好的地方是,当我使用解决方案资源管理器在项目中添加新文件时,该文件被放置在VS10
子目录中,而不是根项目目录中。但似乎.csproj
文件的项目目录是设计中包含文件的目录,我使用了我真的不想做的力量的黑暗面
有更好的主意吗?
值得一试的是将两个项目中的输出程序集的名称更改为相同的名称。项目文件仍然会有所不同,但输出程序集将使用相同的名称。输出目录在哪里也要小心。我认为这样你就能解决你的问题。