ユーザ用ツール

サイト用ツール


it技術:visualstudio

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
it技術:visualstudio [2024/09/12 15:22] – [画面解像度] yajuadminit技術:visualstudio [2024/10/21 18:23] (現在) – [ビルド後に不要なフォルダを削除] yajuadmin
行 92: 行 92:
   - 17.0_9cac6ada フォルダの名前を変更する   - 17.0_9cac6ada フォルダの名前を変更する
   - Visual Studio 2022を起動します。   - Visual Studio 2022を起動します。
 +
 +==== ビルド後に不要なフォルダを削除 ====
 +Microsoft.Data.SqlClient に切り替えてから、言語コードのフォルダー出力されるようになった。\\
 +これらのリソースファイルのほとんどが例外メッセージをローカライズするために使用されていることですが、使用中のプロジェクトとしては不要なため、削除したい。
 +
 +https://github.com/dotnet/SqlClient/issues/1368
 +
 +上記サイトのようにプロジェクトの.csprojファイルにAfterBuildの方法にしたかったが、Visual Studio 2022上から追加して実行しても何も削除されなかった(調査が必要)
 +
 +AfterBuildの方法は中止、プロジェクトのプロパティにある「ビルド後のイベント」を使用することにした。\\
 +「ビルド後のイベント」のところに「call RemoveDir.bat $(OutDir)」をセット
 +
 +{{:it技術:不要フォルダ削除.png|}}
 +
 +対象ファイルが存在する言語フォルダのみを削除する「RemoveDir.bat」を、プロジェクトの.csprojファイルと同じフォルダに格納する。
 +
 +<code bat RemoveDir.bat>
 +@echo off
 +
 +setlocal enabledelayedexpansion
 +set TRUE_FALSE=FALSE
 +
 +for /d %%f in ("%1%\*") do (
 +    if exist "%%f\Microsoft.Data.SqlClient.resources.dll" set TRUE_FALSE=TRUE
 +    if exist "%%f\Microsoft.TestPlatform.CoreUtilities.resources.dll" set TRUE_FALSE=TRUE
 +    if !TRUE_FALSE!==TRUE (
 +        echo Deleting folder: %%f
 +        rmdir /s /q "%%f"
 +    )
 +)
 +
 +endlocal
 +</code>
 +
 +<wrap em>※発行(publish)した場合、結局言語フォルダが出来てしまう。</wrap>
 +
 +テストプロジェクトの場合「Microsoft.Data.SqlClient.dll」を指定しても、csとplとtrフォルダはファイル未存在で残ってしまったため、「Microsoft.TestPlatform.CoreUtilities.resources.dll」に切り替えた。
 +
 +  * [[https://learn.microsoft.com/ja-jp/visualstudio/ide/how-to-specify-build-events-csharp?view=vs-2022|ビルド イベントを指定する (C#)]]]
 +  * [[https://learn.microsoft.com/ja-jp/visualstudio/ide/reference/pre-build-event-post-build-event-command-line-dialog-box?view=vs-2019&viewFallbackFrom=vs-2022|ビルドイベント用のマクロ]]
it技術/visualstudio.1726122179.txt.gz · 最終更新: 2024/09/12 15:22 by yajuadmin