web-dev-qa-db-ja.com

Visual Studioはコンパイルされますが、exeがありません

他の人々の環境で正常にコンパイルされるソースコードは、私の環境では正しく機能しません。再構築を行うとコンパイルが発生しますが、VisualStudioがexeを/ obj/debug/{solution}から/ debug/{solution}に移動すると、/ obj/debug/{solution}でexeが見つかりません。 Visual Studioを再インストールした後でも、これをさらにクレイジーにするには、機能しません。他の人々の環境では、それは機能します。これはWindowsMo​​bile 6、コンパクトフレームワーク3.5プロジェクト、Visual C++プロジェクトであることに注意してください。

編集:Visual Studio2008が使用されています。

EDIT2:ログをもう一度見てみると、コンパイル中であると表示されていますが、実際にはコンパイルされていません。興味深いことに、コードをリンクしようとするまでエラーはスローされません。オブジェクトファイルをリンクしようとすると、それらは存在せず、失敗します。

12
crv

2つのリリースフォルダーを取得しました。1つはソリューションフォルダーに、もう1つはプロジェクトフォルダーにあります。前者には.exeファイルが含まれていますが、後者には含まれていません。

9
Marc Schluper

ソリューションのプロパティページで、exeファイルのパスが[リンカー]-> [出力ファイル]で指定されているパスと同じであるかどうかを確認します。

もう1つの明らかな間違いは、ビルドしているビルド構成を確認することです。あなたはリリースビルドをしていて、デバッグ実行可能ファイルを期待しているかもしれません:)私はこれを数回行いました。

5
yasouser

たぶん、VSはexeを作成し、それを最終的な宛先に移動しようとする前に、ウイルススキャナーがそれを取得して削除するか、保存場所に移動します。

3
Stefan

チャイムを鳴らして質問したかっただけです。上のディレクトリから* .exeファイル名を探しましたか?私の場合、/ releaseサブディレクトリのすぐ上のディレクトリに書き込んでいることがわかりました。どうしてその詳細を見逃したのかわかりませんが、私はそうしました! buildlog.htmが/ releaseサブディレクトリに書き込まれているのを見て、ディレクトリ自体が存在しているのを見たので、以前は発生しなかったと思います。私の場合、コンパイルやリンクなどでした。その/ releaseサブディレクトリに* .exeが表示されませんでした。

3
user3612650

まったく同じソリューションが他のマシンでも機能する場合、それは環境の問題であり、プロジェクトやリンカーなどを調べてもこれを解決することはできません。環境の違いは何ですか?同じサービスパックとQFEがStudioだけでなくOSにも適用されていますか?プロセッサ(64/32ビット)に違いはありますか?あなたの許可は同じですか?同じSDKがインストールされていますか?

同じSDKに対して「helloworld」アプリを構築し、それがコンパイルされるかどうかを確認することは貴重な情報であるというShahiに同意します。

1
ctacke

新しい「HelloWorld」WMプロジェクトを作成した場合、それは機能しますか?

その場合は、ソリューションファイルを比較して、これを引き起こす可能性のある違いを確認できます。

0
Shaihi

私の場合、ネットワークセキュリティチームは、.exeファイルを作成できないようにする未発表のセキュリティアップデートをリリースしました。ここですべての解決策(+その他)を試した後、正午にそれを理解しました。

0
Soma Holiday

私はまったく同じ問題を抱えていました。 Visual Studioを閉じて再度開く(基本的には再起動する)だけで、動作するはずです。

0
Simon

私はこれが今のVS2016で私自身にとってランダムであることに気づきました。私の回避策は、別のプロジェクトを作成し、.exeのないプロジェクトから新しいプロジェクトにコンテンツをコピーすることでした。何らかの理由で、新しいものには通常、必要な適切な.exeと場所があります。これは完全な解決策ではありませんが、少なくとも当面は機能しています。

0
Riley

私の知る限り、ビルドする前に「すべて保存」する必要があります。

0
Hatebit

おそらく、出力フォルダーへの書き込み権限がありませんか? Vista/7で実行している場合、Visual Studioは昇格として実行されていますか?

0
Daniel Rose

2つの微妙に異なるパスがあります。私はここを探していましたが、存在しません:

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
0
jameshfisher

それは今日私と一緒に起こりました:

TL; DR;プロジェクトの対象となる.NET Frameworkバージョンでサポートされていない言語バージョンに属するC#コードをプロジェクトで使用している可能性があります

詳細

私のソリューションには2つのプロジェクトがありました。 1つのプロジェクトがすでに存在していました。 Visual Studio(VS)2017クラスライブラリプロジェクトテンプレートでサポートされている最新の.NET Frameworkv4.6.1を対象とした新しいプロジェクトを追加しました。 C#v7.0にあるいくつかのC#言語機能を使用しました。このような場合、VSはプロジェクトをコンパイルできますが、binディレクトリに出力を作成することはできません。

最終的には、新しいプロジェクトコードファイルを、.NET Frameworkv4.5.1を対象とした既存の古いプロジェクトにマージする必要がありました。

そこで、既存のプロジェクトでも、ターゲットフレームワークのバージョンを最新の.NET Frameworkv4.6.1に変更しました。その後、古いプロジェクトは、新しく貼り付けたC#言語機能のサポートも開始しました。

0
RBT