为什么VS2005会寻找它应该生成的文件?

时间:2008-11-14 21:49:34

标签: .net visual-studio-2005 pocketpc

我正在使用Visual Studio 2005中的PocketPC应用程序。解决方案正在构建正常,然后突然崩溃。第一个错误就是这个(假设项目是FooPDA):

“无法找到位于'%InstallDir%'中的文件'FooPDA.exe'的源文件'C:\ FooPDA \ _ obj \ Release \ FooPDA.exe',该文件可能不存在或已被锁定。”

这个错误对我来说相当混乱。它正在寻找它应该生成的文件。任何人都知道这里可能出现什么问题?


编辑:项目在版本控制之外构建正常,我只需更改项目上的图标,它就会开始抛出这个神秘的错误。

4 个答案:

答案 0 :(得分:10)

在错误消息中看到%InstallDir%可能是潜在客户。您的解决方案中是否有安装和部署项目?它是否在您的FooPDA项目之前构建?看到它看着 obj 也很可疑。


OP编辑:你走在正确的轨道上,所以我会给你答案。事实证明,当你进行重建时,Visual Studio 2005编译器非常愚蠢,因为当它遇到无法编译的项目时它不会停止。它只是继续编译和抛出错误。

此特定解决方案包含三个项目。我们称之为FooPDA,PDAComponents和Setup。我更改了项目FooPDA上的图标,解决方案将不再编译。我专注的错误与实际问题无关。我应该专注于我在初始构建时看到的错误,即:

CVTRES:致命错误CVT1103:无法读取文件

我基本上把它吹了,立刻做了重建。那时,我发布的错误出现在错误列表的顶部,我对此感到困惑。我不应该。我最初发布的错误是由于FooPDA没有编译,因此在编译安装项目时FooPDA.exe不可用。我更改图标时FooPDA无法编译的原因是由于我尝试添加的.ico文件包含不兼容的图标大小和/或颜色深度。显然,紧凑的框架(或目标平台,PocketPC 2003?)只能理解其中的某些内容。我试图添加的.ico文件中嵌入了各种大小和颜色深度(一直到256x256 @ 32位)。我查看了原来存在的.ico文件,它只有两个48x48图标。一个24位颜色和一个8位。我在图标编辑器中打开了我的新.ico文件并对其进行了修改,使其包含与原始文件相同的大小和颜色深度,并且所有文件都与世界相符。现在解决方案使用新图标编译,没问题。

一方面,我觉得因为没有搞清楚这一点而感到愚蠢(我终于问过一位曾经遇到此事的同事)。另一方面,f ** k做什么“CVTRES:致命错误CVT1103:无法读取文件”告诉我?没有! “错误:不兼容的图标”有什么问题?

答案 1 :(得分:0)

有时在类库等中发生这种情况。如果解决方案没有正确构建,它永远不会达到生成.exe文件的程度。

你可以在不运行项目的情况下编译,或者在尝试编译时也会遇到同样的错误吗?

如果可以,我会尝试修复任何编译错误并重建。

答案 2 :(得分:0)

关闭Visual Studio。 清洁你的解决方案 再次构建您的解决方案。

消息是否再次显示?

有时VS在编译时会锁定某个文件,它可能会从之前的版本中锁定。

答案 3 :(得分:0)

  
    

“无法找到源文件'C:\ FooPDA \ _ obj \ Release \ FooPDA.exe'

  

正在尝试创建文件C:\ FooPDA \ bin \ Release \ FooPDA.exe。

C:\ FooPDA \ obj \ Release \ FooPDA.exe是一个用于创建它的文件(好的,几乎是唯一一个)(主要通过复制它)。

听起来有点其他原因,构建失败(语法错误等),但有些其他构建过程没有得到这个词,并继续前进。