- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2023-04-28T13:28:09+09:00","default:irrp","irrp")
#author("2024-01-21T18:51:08+09:00","default:irrp","irrp")
→言語・開発環境
→Visual Studio.NETによるセットアッププロジェクト
→Visual Studio Code
#contents
*一般 [#h012f85f]
-VS2019 でファイルを探したいとき
--ソリューションエクスプローラーの上の方にある検索窓のようなところにファイル名の一部を入れると、マッチするファイルだけに絞られる。
--ファイルだけを探したい場合は、検索オプションでファイルの仲間で検索するオプションを外しておく
-[[Visual StudioのCode Analyzerを使いこなそう | SIOS Tech. Lab>https://tech-lab.sios.jp/archives/34129]] 2023.4
-[[VisualStudio 2019 (cl.exe) のバグっぽい挙動 - Qiita>https://qiita.com/Nabetani/items/0903d59e88114d4c2637]] 2022.2
--巨大な構造体を定義した場合の挙動
-[[Visual Studio OnlineをVisual Studio Code上で試してみた>https://ascii.jp/elem/000/001/973/1973840/]] 2019.11
-[[Visual Studio Online>https://visualstudio.microsoft.com/ja/services/visual-studio-online/]] 2019.11
--[[Visual Studio Onlineで、ブラウザ上からVS Codeを使う【Public Preview】>https://qiita.com/suzuki_sh/items/7bf0465e727f56d1baf3]] 2019.11
-[[IntelliCodeがプログラマのリファクタリング作業を自動的に学習。学習内容からリファクタリング箇所を提案するように>https://www.publickey1.jp/blog/19/intellicode.html]] 2019.9
-[[[速報]マイクロソフト、フル機能の無料版「Visual Studio Community 2013」公開>http://www.publickey1.jp/blog/14/visual_studio_communiti_2013.html]] 2014.11.14
--[[Visual Studio Community 2013>http://www.visualstudio.com/products/visual-studio-community-vs]]
-[[第1回 初めてのVisual Studio 2013 >http://www.atmarkit.co.jp/ait/articles/1408/27/news118.html]] 2014.8.27
-[[Getting useful C++ exception information from Visual Studio>http://cwspencer.co.uk/blog/2012/10/getting-useful-c-exception-information-from-visual-studio/]] 2012.10.5
-[[あるとうれしい便利なコマンドを「Visual Studio」へ追加する「PowerCommands」 >http://www.forest.impress.co.jp/docs/review/20120404_523486.html]] 2012.4.4
-[[Visual Studio 2010のデバッグ機能をまとめる>http://www.atmarkit.co.jp/fdotnet/chushin/vsdebug_01/vsdebug_01_01.html]] 2010.6.9
-http://www.microsoft.com/japan/msdn/vstudio/Express/
-[[Visual Stuido 2008単体テスト機能のすべて>http://www.atmarkit.co.jp/fdotnet/special/vs2008test01/vs2008test01_01.html]] 2008.11.14
-[[触れてみようUIデザインツールExpression Blend >http://codezine.jp/article/detail/2354?p=1]]
-[[VSTSの全体像>http://codezine.jp/a/article/aid/1570.aspx]] 2007.8.16
-[[Visual Studio .NET 2002/2003はVista非対応:http://slashdot.jp/developers/article.pl?sid=06/09/28/0711216]] 2006.9.28
-[[Visual Studio .NET 2003 Service Pack 1:http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=69D2219F-CE82-46A5-8AEC-072BD4BB955E]] 2006.8.18
--入れるときにVS.NET2003のディスクが必要なので注意
*Visual StudioでVC++を使うときの一般的インクルード設定 [#mff870d1]
-パッと見、プロジェクトのプロパティなどから見る方法がない?ようなので
C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\ATLMFC\INCLUDE;
C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\INCLUDE;
C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\include\prerelease;
C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\include;
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include;
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include\
上記は2003の場合
*デバッグ時に「呼出し履歴」ウィンドウを使いましょうという件 [#ec7287e8]
-[[デバッガーで呼び出し履歴を表示する - Visual Studio (Windows) | Microsoft Learn>https://learn.microsoft.com/ja-jp/visualstudio/debugger/how-to-use-the-call-stack-window?view=vs-2022]] 2024.1
-「呼出し履歴」=スタックトレースのウインドウを使いこなせてない(というか存在すら知らない)人が案外多い
-これが使えるかどうかで開発効率に大きく差が出ますのでぜひ覚えるべき
-「デバッグ」-「ウィンドウ」-「呼び出し履歴」で表示できます
-ショートカットはCtrl+D→C
-ショートカットは%%Ctrl+D→C%% Ctrl+Alt+C
-Assertなどでデバッガ内で止まったときに、どこから呼び出されてそこに来たのかを知ることができる。
-呼び出し元のメソッドのソース該当位置に遡ってジャンプできます。また、下へ戻ってくることもできます。
-またその時点での各メソッド内での変数の値なども殆どの場合見られます
-デバッグ実行中でないと使う意味が無いので注意
*ContextSwitchDeadlock問題 [#je7552a3]
-VS 2005でデバッグ中に以下のような例外が出る件
ContextSwitchDeadlock が検出されました。
Message: CLR は、COM コンテキスト 0x1b19d8 から COM コンテキスト 0x1b1b48 へ 60 秒で移行できませんでした。
ターゲット コンテキストおよびアパートメントを所有するスレッドが、ポンプしない待機を行っているか、
Windows のメッセージを表示しないで非常に長い実行操作を処理しているかのどちらかです。この状態は通常、
パフォーマンスを低下させたり、アプリケーションが応答していない状態および増え続けるメモリ使用を導く
可能性があります。この問題を回避するには、すべての Single Thread Apartment (STA) のスレッドが、
CoWaitForMultipleHandles のようなポンプする待機プリミティブを使用するか、長い実行操作中に定期的に
メッセージをポンプしなければなりません。
-設定で対応するには「デバッグ」−「例外」で出る一覧から「ContextSwitchDeadlock」をオフにする
-参考:http://msdn2.microsoft.com/ja-jp/library/ms172233(VS.80).aspx
*HxS(Microsoft Compiled Help2)ファイルの使い方 [#n0aad4b3]
-''Visual Studio .NET 連結ヘルプ コレクション マネージャ''を使って、Visual Studio.NETのヘルプコレクションに含めることによって使えるようになる
-具体的には以下のようにする
--ヘルプもしくはIEから ms-help://MS.VSCC.2003/vscccommon/cm/CollectionManager.htm を開く
--VS.NET 2005の場合は ms-help://MS.VSCC.v80/dv_vscccommon/local/CollectionManager.htm
--そこに含められるヘルプの選択肢が出ているはずなのでチェックし、更新を行う。
--以後、通常のヘルプと同じように使えるようになるはず
-参照:http://www.sssg.org/blogs/naganuma/?p=554
[[その2>http://moxi.jp/wiki/wiki.cgi?page=%B3%C8%C4%A5%BB%D2+.HxC+.hxt+.hxk+.hxs+%A4%CA%A4%C9%A4%CE%A5%D8%A5%EB%A5%D7%A4%AC%B8%AB%A4%E9%A4%EC%A4%CA%A4%A4]]
*XML Commentの利用方法 [#q6fc6057]
-http://msdn.microsoft.com/msdnmag/issues/02/06/XMLC/
*リソースを埋め込んだ時の注意点 [#wa97f39c]
-リソースとしてテキストファイルを埋め込んだときに、テキストファイルの中身を書き換えても通常の「ビルド」では変更が反映されないことがある模様。リソースで埋め込んだテキストファイルの中身を書き換えた場合''必ず「リビルド」した方が良い''
*WindowsサービスをVisual Studio .NETでデバッグする方法 [#w41b41ae]
-[[Debugging Windows Services under Visual Studio .NET:http://www.codeproject.com/dotnet/DebugWinServices.asp]]
→.NETによるWindowsサービスの開発メモ
*MDM.EXEとは? [#bdbebc33]
-Machine Debug Managerの略で、Visual Studio.NETをインストールすると入る。
-VS.NETでデバッガを動かすときに必要なのでプロセスを落としてはいけない。
-参考:http://hp.vector.co.jp/authors/VA015066/reading/DreadfulMDM.EXE.htm
*プロジェクトをソリューションに追加してもソースセーフの管理化に入らないとき [#vd76edf6]
-「ファイル」−「ソース管理」−「ソース管理の変更」で出てくるダイアログを開く
-管理に入れたいプロジェクトをカレントにあわせてから、ダイアログ上方にある「バインド」というボタンを押すとソース管理化に入れて貰える。
-ソース管理化から外したい場合は逆に「バインド解除」ボタンで解除できる。
*ソリューションでビルドするときに「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」というエラーになる問題 [#mdc16309]
-複数のプロジェクトから参照されるDLLなどを同じフォルダに出力するようにしているとこうなるらしい。
-解決方法としては、同じフォルダに出すのをやめて参照する側のプロジェクトでコピーさせるようにする。
-[[複数のプロジェクトで構成されるソリューションをビルドするとエラー メッセージ "一時ファイルを出力ディレクトリにコピーできませんでした。" が表示される:http://support.microsoft.com/?scid=kb;ja;313512&spid=3040&sid=global]]
*Visual Studio.NETのインストールで謎のエラーが出た [#h311ac62]
-某サーバにインストールしたらこのようなエラーとなった
MSI (s) (44:40) [11:18:43:796]: 製品: Visual Studio .NET Enterprise Developer 2003
- Japanese -- インストールに失敗しました。
MSI (s) (44:40) [11:18:43:859]: MainEngineThread is returning 1639
情報 1639 です。コマンド ラインの引数が無効です。コマンド ラインのヘルプの詳細については、
Windows Installer SDK を参照してください。
R"US
MSI (c) (38:C8) [11:18:43:859]: Decrementing counter to disable shutdown.
If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (38:C8) [11:18:43:859]: MainEngineThread is returning 1639
-原因はOSインストール時に登録した組織名に "R"USと言う風にダブルクォーテーションを入れていたため。
-組織名は一回入れてしまうと画面から変更できない模様。''HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion'' の内容を書き換え、ダブルクォーテーションを取り除くとエラーが出なくなる。
*VisualStudio.NETでSourceSafeの設定を削除する方法 [#y639fec2]
-以下の話はもしかして「ファイル」−「ソース管理」−「ソース管理の変更」でバインド解除すればいいだけの話かも知れないが、あえて手でやりたい場合のため
-ソリューションファイルから以下の部分(GlobalSection(SourceCodeControl)〜EndGlobalSection)を削除する。
Global
GlobalSection(SourceCodeControl) = preSolution
SccNumberOfProjects = 3
SccLocalPath0 = .
CanCheckoutShared = false
...
SccProjectFilePathRelativizedFromConnection2 = AAA\\
EndGlobalSection
GlobalSection(SolutionConfiguration) = preSolution
...
-プロジェクトファイルから以下の部分(SccXXX)を削除する
<?xml version="1.0" encoding="shift_jis"?>
<VisualStudioProject
ProjectType="Visual C++"
...
SccProjectName=";$/XXX.root/YYY;, CAAAAAAA"
SccAuxPath=""
SccLocalPath="..\..\.."
...
-参考URL
--http://isobe.exblog.jp/i4