【发布时间】:2017-05-18 06:09:50
【问题描述】:
当我打开生成的解决方案+项目文件时,对于项目文件中的每个平台,我都会收到以下警告:
path/to/project.vcxproj:警告:无法找到项目文件“project”中引用的平台“[some_platform,0]”。
some_platform是项目中有效的平台,构建、浏览等一切正常。没有行号显示哪里问题出在哪里。
我的问题是,'[some_platform, 0]' 的真正含义是什么?
来自 Linux,我最初认为引号表示我在某处字面上指定了 [some_platform, 0],但我没有。我也没有在项目文件的任何地方看到,\s*0。我如何破译该消息才能找出它在抱怨什么?
如果重要的话,这是一个 C++ 项目。
编辑:甚至使用, 的唯一地方是在两条消息和一个 SDK 引用中。所以[some_platform, 0]绝对是为了警告而构建的,但是第二部分(0)是什么意思呢?
已解决:为什么VS会产生这样的输出,我不知道,谁知道0是什么意思。然而,事实证明,平台名称是 SDK 将向 VS 注册的东西(或类似的东西),并且 VS 期望它区分大小写。我已将 ORBIS 和 Durango 更改为 orbis 和 durango,导致警告。修复案例使警告消失(无论如何,项目正在加载和构建)。
【问题讨论】:
-
这意味着 'some_platform' 和 '0' 缺少平台。很难帮助更多没有复制位。
-
@SimonMourier 所以你说缺少两个独立的平台,它决定像这样输出它?第一个 (
some_platform) 肯定不会丢失。第二个(0)没有理由出现。如果你说的是真的,那么说Platform '[x, y]'而不是Platforms x, y仍然没有意义。 -
如果你不相信那些试图提供帮助的人的回答,你就不应该提问。消息在 Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.dll 中定义,如果您使用 ILSpy、Reflector、DnSpy 等工具,您会看到第一个参数是平台列表的串联。我没有说这有道理,就像我说的,我们需要更多的帮助来进一步帮助
-
@SimonMourier,这里不存在信任问题。我只是试图分析响应以得出正确的答案(就像任何科学家都会做的那样)。好的,这里有更多信息。假设我在项目中有三个平台:
durango、orbis和x64(前两个或 xb1 和 ps4 平台)。它们实际上使用相同的项目文件构建良好,因此它们根本没有任何问题。当我打开项目文件时,我收到两条关于'[durango, 0]'和'[orbis, 0]'丢失的消息(但不适用于 x64)。 -
如果警告显示的是平台列表,它应该给出关于
'[durango, orbis, 0]'的警告,你不同意吗?它产生两个错误是否有意义,每个错误都是一个列表,重叠(0)但具有互斥的元素?
标签: visual-studio visual-studio-2015