C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VisualStudioのデバック・リリース時のファイル

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■87163 / inTopicNo.1)  VisualStudioのデバック・リリース時のファイル
  
□投稿者/ ディー (6回)-(2018/04/18(Wed) 15:51:00)

分類:[.NET 全般] 

VisualStudioで個人レベルで勉強してきましたが
開発そのものではなく完成品(?)について質問があります。


VisualStudioで開発した場合、リリース、デバックフォルダ内に該当のexe等が出来上がると思います。
基本的に配布等したい場合はそこにあるexe等を配布すれば良いのだと思いますがココで2点質問があります。

(構成例)
〜./Release/
WpfApplication1.exe
WpfApplication1.exe.config
 WpfApplication1.pdb
WpfApplication1.vshost.exe
WpfApplication1.vshost.exe.config
WpfApplication1.vshost.exe.manifest


[質問1]
上記の各ファイルはいったい何なのでしょうか?
一応、exeのみ別フォルダに移し実行確認はできたため、exeだけ配布すればいいのかとは思っています。
.configで検索してみると、ファイルがなければexe内の初期設定が優先されると書かれているだけで
他ファイルも何のためのファイルなのか、必要なのかが良くわかりません。

面倒であれば、分かりやすい解説サイトのURL等でも構いませんので教えてくださいませんか?


[質問2]
全く必要ないファイルであれば構わないのですが、
必要であれば各ファイルを以下のように別フォルダに移動することか可能でしょうか?

(構成例)
〜./Release/
WpfApplication1.exe
〜./Release/構成ファイル?
WpfApplication1.exe.config
  WpfApplication1.pdb
WpfApplication1.vshost.exe
WpfApplication1.vshost.exe.config
WpfApplication1.vshost.exe.manifest



基礎的な質問なのかもしれませんがよろしくお願いします。


引用返信 編集キー/
■87164 / inTopicNo.2)  Re[1]: VisualStudioのデバック・リリース時のファイル
□投稿者/ 774RR (604回)-(2018/04/18(Wed) 16:43:53)
原則、客先に配布すべきは EXE/ランゲージリソースDLL だけでよいっす。
自作 DLL を使っているとかあればもちろん一緒に配布しなきゃならんです。
他のファイルは一緒に配布すると便利な機能が使えたりするものがありますが、配布しなくても動くっす。

exe.config ファイルについては
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/1188cb87-1bf3-42c1-94c1-8c095c4ef5dc/execonfig?forum=vsgeneralja
配布すると「起動時に」.NET Framework のバージョンチェックが入る
配布しないとバージョンチェックせず起動するので実行中にエラーが発生しうる。

exe.manifest ファイルについては
https://dobon.net/vb/dotnet/system/asadmin.html
https://docs.microsoft.com/ja-jp/dotnet/framework/tools/mage-exe-manifest-generation-and-editing-tool
普通は EXE/DLL に内容が埋め込み済にしているので単体配布不要と考えてよいっす。

vshost* ファイルについては、
デバッグの際に [ホスティングプロセスを有効にする] ときのホスティングプロセス系ファイル。
デバッグのために使うファイルなので客先には配布不要。

PDB はデバッグシンボルファイル。やはりデバッグのためのファイルなので客先には配布不要。
対外リリースするとき、 PDB/EXE/DLL/ソースコード一式をまとめて保存しておくと
いろいろとデバッグのために役立つ。客先で例外発生したときにソースコードとつき合わせるとか。

質問2のほうは情報を持ち合わせていないです。


引用返信 編集キー/
■87166 / inTopicNo.3)  Re[1]: VisualStudioのデバック・リリース時のファイル
□投稿者/ PANG2 (3回)-(2018/04/18(Wed) 17:06:53)
No87163 (ディー さん) に返信
> [質問2]
> 全く必要ないファイルであれば構わないのですが、
> 必要であれば各ファイルを以下のように別フォルダに移動することか可能でしょうか?

Releaseフォルダに作成したくないのであれば、

Visual StudioユーザーがReleaseビルドをするときに必ずやってほしい2つの設定
https://qiita.com/lainzero/items/27681ddc96638e33758b

あと、ソリューションエクスプローラーでプロジェクト内のApp.configファイルを削除する
引用返信 編集キー/
■87167 / inTopicNo.4)  Re[1]: VisualStudioのデバック・リリース時のファイル
□投稿者/ 魔界の仮面弁士 (1648回)-(2018/04/18(Wed) 17:51:09)
No87163 (ディー さん) に返信
> 開発そのものではなく完成品(?)について質問があります。
プロジェクトの種別は異なりますが、No14051 に近いですね。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=14051&KLOG=29


> WpfApplication1.vshost.exe
> WpfApplication1.vshost.exe.config
> WpfApplication1.vshost.exe.manifest
実行環境に配布する必要はありません。これらは開発環境でのみ必要です。
http://www.atmarkit.co.jp/ait/articles/0602/10/news119.html
https://msdn.microsoft.com/ja-jp/library/ms185330.aspx

プロジェクトのプロパティで
 VB [デバッグ]-[Visual Studio ホスティング プロセスを有効にする]-[オフ]
 C# [デバッグ]-[Visual Studio ホスティング プロセスを有効にする]-[オフ]
に設定している場合は生成されません。

ただし、手元の VS2017 (ver 15.6.6) では、そもそも vshost は作られず、
上記の設定項目もありませんでした。もしかしたら VS2005〜VS2015 限定かもしれません。
お使いの Visual Studio のバージョンは何でしょうか?
(今回は WPF プロジェクトなので、少なくとも VS2005 では無いはず…)


> WpfApplication1.exe
本体。これが無いことにはもちろん始まりません。


> WpfApplication1.exe.config
設定情報。exe と同じフォルダーに配置してください。
開発時には "App.config" というファイル名で管理されています。

.exe.config は、<requiredRuntime> や <supportedRuntime> などといった
管理情報を指定するために必要です。
https://teratail.com/questions/23161

.config 内の一部の項目(<applicationSettings> や <userSettings> など)は、
.exe.config が無くても、ビルド時の値が既定値として埋め込まれるので
無くてもそのまま動くケースもありますが、基本的には一緒に配布すべきです。


>  WpfApplication1.pdb
プログラム データベース ファイル(あるいはシンボル ファイル)。
デバッグ用なので、通常は配布しなくても構いません。
https://msdn.microsoft.com/ja-jp/library/ms241613.aspx

プロジェクトのプロパティで
 VB [ビルド]-[詳細コンパイル オプション]-[デバッグ情報の生成]-[none]
 C# [ビルド]-[詳細設定]-[デバッグ情報]-[なし]
に設定している場合は生成されません。


==== 以下、聞かれていないけれど追加で ====

> WpfApplication1.exe.manifest
アプリケーション マニフェスト ファイル。exe と同じフォルダーに配置してください。
開発時には "App.manifest" というファイル名で管理されています。

<requestedExecutionLevel>、<supportedOS>、<dpiAware> などといった、
管理情報を指定するために使われます。
このファイルで設定される項目を必要としていない場合には、生成されないこともあります。

最近のバージョンの Visual Studio では、ファイルの内容が
exe 内に RT_MANIFEST リソースとして埋め込まれていますので、
その場合はこのファイルを配布せずとも、設定情報が有効になります。

また、古いバージョンを使用している場合は、下記の手順でリソースに埋め込めます。
(もちろん埋め込まずに、.exe.manifest として配布しても構いません)
https://support.microsoft.com/en-us/help/944276/


> WpfApplication1.xml
XML ドキュメント コメントを記録したファイルです。
通常は配布する必要はありません。

プロジェクトのプロパティで
 VB [コンパイル]-[XML ドキュメント ファイルを生成する]-[オフ]
 C# [ビルド]-[XML ドキュメント ファイル]-[オフ]
に設定している場合は生成されません。
(Release ビルドでの初期値は、最近の VS では On になっていますが、以前は Off になっていました)
引用返信 編集キー/
■87168 / inTopicNo.5)  Re[2]: VisualStudioのデバック・リリース時のファイル
□投稿者/ ディー (8回)-(2018/04/18(Wed) 18:53:18)
774RRさん、PANG2さん、魔界の仮面弁士さん


ご丁寧にありがとうございます。
基本的に
 .exe
 .exe.config
 (あれば.exe.manifest)
上記があればいいと理解しました。

今から仕事でリンク先が読めていませんが、後で読み込ませていただきます。

過去に同じ質問があったのは申し訳ありません。
軽く検索はしたのですが引っかからなかったようです。

仕事でもVisualStudioは使っていますが、
今回は趣味(勉強)で作ったアプリのフリー公開には何を配布すれば良いのかなと思い質問させていただきました。
仕事はVBでの既存のバグ改修のみで、修正テスト後の納品は上司がやっていたため詳細はよくわかっておりませんでした。
自身がする前に分かってよかったです。

自宅ではVB,C#,C#+WPFで小さなアプリを作って勉強しています。
現在VS2015(ver14.0.23106でいいのかな?)で作っておりますが、
ノートパソコンにインストールしてる分はもっと古い2010当たり?かと思います。


どうもありがとうございました。


解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ