今天答辩完之后,因为之前急没有新建一个项目,而是直接在原来的实验新建了,所以想整理一下asp.net系统文件夹以及修改文件夹的名称,结果把文件夹的名字改了之后再打开.sln解决方案的时候出现了报错。
项目根目录:通讯录文件夹里包含以下文件:
数组对比实验最终版本文件夹里有:aspx,aspx.cs代码和一些vs自动生成的文件,其中包括:
我的目的是:把“数组对比实验最终版本”改成“通讯录系统”
问题:打开.slh解决方案的时候,vs弹窗,未能加载解决方案中一个或多个项目
输出窗口:未能找到csproj和csproj.user的文件
这说明“数组对比实验最终版本”这个名称不知道被哪个文件引用了,所以导致VS未能正确加载解决方案中的项目。后来经过不断的尝试,终于在.sln解决方案文件中找到了引用这个名称的地方。
打开.sln的代码,我用的是sublime打开的,如果没有可以用记事本打开:
找到了“数组对比实验最终版本”
然后我把“数组对比实验最终版本”修改成了“通讯录系统”,保存,用VS打开.sln解决方案,打工成功!
后来我想是不是把Project{}中的.csproj的相对位置写对就可以了。然后我就大胆的把
单独把csproj和csproj.user的文件放在与.sln文件相同的位置并且正确修改了Project{}中的.csproj位置:
结果又出现了一开始的未能加载解决方案中一个或多个项目报错,gg。并且又多出了一个错误:
即这些页面全面失效不能打开,然后返回上一级文件的时候发现在.csproj和.csproj.user和.sln文件所在处自动产生了上图中的Class、css、js文件夹。
至此,我总结: .csproj和.csproj.user文件必须与aspx等文件在同一位置;而Project{}中必须包含.csproj文件的正确路径。
之后查看MSDN上的解决方案(.sln)的说明文档,知道了其实Project是每一个项目的实例ID,即VS必须根据.sln中Project{}的.csproj的位置加载项目。
最后,链接一个别人家的理解: