在其他人环境中编译良好的源代码将无法在我的环境中正常工作。当我进行重建时,编译发生但是当visual studio将exe从/ obj / debug / {solution}移动到/ debug / {solution}时,它无法在/ obj / debug / {solution}中找到exe。即使在我重新安装visual studio之后它也会变得更加疯狂。在其他人的环境中,它可以找到。请注意,这是一个Windows Mobile 6,紧凑框架3.5项目,Visual C ++项目。
编辑:正在使用Visual Studio 2008。
EDIT2:再次查看日志后发现它说它正在编译,但它并没有真正编译。有趣的是,它在尝试链接代码之前不会抛出任何错误。当它链接目标文件时,它们不在那里而且它失败了。
答案 0 :(得分:8)
我有两个Release文件夹:一个在解决方案文件夹中,一个在项目文件夹中。前者包含.exe文件,后者不包含。
答案 1 :(得分:5)
在解决方案属性页面中,检查您期望exe的路径是否与链接器中指定的路径相同 - >输出文件。
另一个明显的错误可能是,检查您正在构建的构建配置。您可能正在进行发布构建并期望调试可执行文件:)我已经完成了几次。
答案 2 :(得分:3)
也许VS会创建exe,并且在它尝试将其移动到最终目标之前,您的病毒扫描程序会抓取它并将其删除,或将其移动到保存位置。
答案 3 :(得分:2)
我只想插入并询问:您是否从上面的目录中查找了* .exe文件名?我在我的案例中发现的是它正在写入/ release子目录正上方的目录。我不确定我是如何错过这个细节的,但我做到了!我想我之前从未想过这样,因为我看到buildlog.htm被写入/ release子目录,以及目录本身的存在。在我的情况下,它是编译,链接等。我只是无法在/ release子目录中看到* .exe。
答案 4 :(得分:1)
如果完全相同的解决方案适用于其他计算机,那么这是一个环境问题,并且没有多少关注项目,链接器等将解决此问题。环境有什么不同?相同的服务包和QFE是否适用于Studio,还适用于操作系统?处理器(64/32位)有区别吗?你的权限是一样的吗?您是否安装了相同的SDK?
我同意Shahi的意见,只是尝试针对相同的SDK构建一个“hello world”应用程序,看看它是否会编译是有价值的信息。
答案 5 :(得分:1)
有两条微妙的不同路径。我在看这里,它不存在:
C:\Users\james\source\repos\CppHelloWorld\Release\CppHelloWorld.exe
实际的exe在这里-请注意,该路径包含为其构建的x64
平台:
C:\Users\james\source\repos\CppHelloWorld\x64\Release\CppHelloWorld.exe
通常,路径似乎是:
$PROJECT_PATH\$PROJECT_NAME\$PLATFORM\$CONFIGURATION\$PROJECT_NAME.exe
答案 6 :(得分:0)
如果您创建一个新的“hello world”WM项目,它是否有效?
如果是这样,您可以比较解决方案文件以检查可能导致此问题的差异。
答案 7 :(得分:0)
也许您对输出文件夹没有写权限?如果您在Vista / 7上运行,您的Visual Studio是否以高架运行?
答案 8 :(得分:0)
据我所知,你需要"全部保存"在建设之前。
答案 9 :(得分:0)
我有完全相同的问题。只需关闭Visual Studio并重新打开它(基本上重新启动它)它应该可以工作。
答案 10 :(得分:0)
在现在的VS2016中,我发现这对我来说是随机的。我的解决方法是只创建另一个项目,然后将内容从不带.exe的项目复制到新的项目。由于某种原因,新的文件通常会具有所需的正确.exe和位置。虽然这不是一个完整的解决方案,但至少它暂时对我有用。
答案 11 :(得分:0)
今天发生在我身上
TL; DR; :您可能在项目中使用了某些C#代码,它们属于项目目标的.NET Framework版本不支持的语言版本
详细信息:
我的解决方案中有两个项目。一个项目已经存在。我添加了一个针对Visual Studio(VS)2017类库项目模板支持的最新.NET Framework v4.6.1的新项目。我使用了C#v7.0中提供的一些C#语言功能。在这种情况下,VS可以编译项目,但不能在bin
目录中创建输出。
最终,我不得不将新的项目代码文件合并到针对.NET Framework v4.5.1的现有旧项目中。
因此,我也将现有项目的目标Framework版本更改为最新的.NET Framework v4.6.1。然后旧项目也开始支持我新粘贴的C#语言功能。
答案 12 :(得分:0)
就我而言,我的网络安全团队发布了一个未宣布的安全更新,该更新阻止了我创建任何.exe文件。我在这里尝试了所有解决方案(更多后)后才知道这一点。