如何手动将解决方案文件夹添加到.sln文件



假设我有一个结构如下的解决方案:

|__TopLevelFolder
|___ModuleFolder
|____ProjectFile
|____TestProjectFile

我想在"TopLevel"下创建另一个"ModuleFolder",并添加相应的项目和测试项目文件。然而,出于我的目的,我必须手动修改.sln文件来添加它们(我这样做是作为yeoman生成器的一部分,这意味着我不能像往常一样在VS中这样做)。

我的问题是,当我修改.sln文件时,我的文件夹显示为不可用的项目,当我尝试重新加载它时,加载失败,并显示"找不到项目文件或网站"。以下是我在.sln文件中所做的操作:

首先我添加文件夹:

Project("{GUID}") = "NewModuleFolder", "NewModuleFolder", "{NewModuleGUID}"
EndProject

然后我添加实际项目:

Project("{GUID}") = "TopLevel.NewModule.Tests", "srcTopLevelNewModuleTopLevel.NewModule.Tests.csproj", "{TestProjectGUID}"
EndProject

然后在"预解决方案"部分,我添加了一行,将NewModuleFolder放在TopLevelFolder下面,将TestProject放在NewModule文件夹下面:

GlobalSection(NestedProjects) = preSolution
{NewModuleGUID} = {TopLevelGUID}
{TestProjectGUID} = {NewModuleGUID}
...
EndGlobalSection

这正是我的解决方案中所有其他文件夹和项目的工作方式(相信我,我反复检查了一遍,并尝试切换GUID以确保这一点)。

关于如何让它发挥作用,或者我做错了什么(或者考虑到我正在创建一个yeoman生成器,我应该以不同的方式来做这件事),有什么想法吗?

谢谢!!

项目类型的Guid必须是"2150E333-8FDC-42A3-9474-1A3956D46DE8",第二个Guid应该只是新的Guid。

Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = 
"MyFolder", "MyFolder", "{C990590A-798B-41BB-9A2A-50D28037BA2A}"
ProjectSection(SolutionItems) = preProject
MyFoldersome.txt = PysicalPatha.txt
EndProjectSection
EndProject

请参阅Visual Studio 2013解决方案文件夹在哪里?了解更多信息。

相关内容

  • 没有找到相关文章

最新更新