我的一些项目无法正确加载文件。在解决方案资源管理器中,它们具有空文件名。我仍然可以正常编译和工作,但我无法从这个视图中打开它们。它说,“无法打开文件。”
如果我使用Show All Files展开视图,我可以看到它们存在但被认为是从项目中排除。这就像他们被包括在内并同时被排除在外。重新包括它们不起作用。
项目和过滤器文件似乎没有损坏。我甚至手动编辑它们无济于事。以下是VCXPROJ文件的片段:
<ItemGroup>
<ClCompile Include="JsonTest.cpp" />
<ClCompile Include="NumberTest.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="StringArrayTest.cpp" />
<ClCompile Include="StringTest.cpp" />
<ClCompile Include="WStringArrayTest.cpp" />
<ClCompile Include="WStringTest.cpp" />
</ItemGroup>
这是.filters文件的类似相关摘录:
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SrpString.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SrpJson.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SrpNumber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="decNumber\decQuad.c">
<Filter>DecNumber</Filter>
</ClCompile>
</ItemGroup>
我已经尝试了很多东西来解决这个问题,但都没有成功。
有什么想法吗?
答案 0 :(得分:2)
问题似乎与.vs子文件夹中某种类型的损坏有关。由于我没有使用Visual Studio的内置源代码控制,我只是删除了该文件夹并重新加载了解决方案。现在一切都恢复正常了。
线索是:手动删除其中一个空文件(直接编辑.vsproj,并从解决方案文件夹中删除文件)后,我尝试使用类向导重新重新添加类。然而,Visual studio坚持认为这个课程已经存在,尽管在任何来源中都没有提到它。似乎通过源代码控制无形地维护了一个引用。我不敢相信在此之前我没有考虑过.vs。
无论如何,我希望将来可以帮助其他人。