前天开始开发一个console小工具,放在Project A里面,当时不知怎么的就选了“解决方案与项目放在同一目录”,本来也无所谓的。

然而,今天在这个解决方案中添加了新的项目Project B,在给项目添加Docker支持时,vs提示:需要在当前目录或者上级目录中找到.sln文件,我吧sln文件移动到上级目录里,打开方案是报“导入项目”有错误。额。。。没办法,找了半天没有答案,自己改.sln文件吧。

打开.sln文件,所有相关项目文件定义如下,可以看到".\ProjectA.csproj"代表项目文件就在解决方案当前目录下;而"..\ProjectB\ProjectB.csproj"代表项目文件就在解决方案上级目录中的ProjectB目录下。我们的目标是.sln文件在project文件的上级目录下。

修改前,如图。

Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectA", ".\ProjectA.csproj", "{BD9363CD-3D6B-4730-859F-6344D66E296D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectB", "..\ProjectB\ProjectB.csproj", "{9A6D9A51-C566-4BAD-9A7F-F4FD1E93F4FE}"
EndProject

修改部分如下图

Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectA", ".\ProjectA\ProjectA.csproj", "{BD9363CD-3D6B-4730-859F-6344D66E296D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectB", ".\ProjectB\ProjectB.csproj", "{9A6D9A51-C566-4BAD-9A7F-F4FD1E93F4FE}"
EndProject

修改后,双击sln文件,顺利导入两个项目。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐