【发布时间】:2017-10-10 17:19:17
【问题描述】:
我的一些项目无法正确加载文件。在解决方案资源管理器中,它们具有空文件名。我仍然可以正常编译和工作,但是我无法从这个视图中打开它们。它说,“无法打开文件。”
如果我使用“显示所有文件”展开视图,我可以看到它们存在但被视为已从项目中排除。就像它们同时被包含和排除一样。重新包含它们不起作用。
项目和过滤器文件似乎没有损坏。我什至手动编辑它们无济于事。这是来自 VCXPROJ 文件的 sn-p:
<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 文件的 sn-p:
<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>
我尝试了很多方法来解决这个问题,但都没有成功。
- 以管理员身份运行 Visual Studio 2017
- 删除和重新添加文件
- 从头开始重新创建解决方案
- 将文件夹中的所有文件重新强制为只读
- 检查所有文件的权限:我确实拥有完全权限
有什么想法吗?
【问题讨论】:
-
.vcxproj.filters长什么样子? -
它看起来同样有效。我将包括一个相关的 sn-p。正如我所说,我试图编辑甚至完全替换它,但无济于事。
-
如果您将文件包含到另一个项目中,那么会发生什么? evtl 是文件本身损坏或损坏。
标签: c++ visual-studio visual-studio-2017