質問編集履歴

1

2022/01/12 15:21

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,127 +1,69 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
-
4
-
5
3
  以前、[こちらの質問](https://teratail.com/questions/217007)で、
6
-
7
4
  Visual Studio CodeのC#の扱いで、dotnet new consoleで作成したプロジェクトで、単体で動作するexeファイルの生成方法を
8
-
9
5
  ご教示いただき解決したのですが、今回は、Visual StudioのC#で単体で動作するexeファイルの生成方法のご教示をお願いいたします。
10
-
11
6
  Windows 10のVisual Studio 2022のIDEで、.NET 6.0の環境で試しています。
12
7
 
13
-
14
-
15
8
  ### 試したこと
16
-
17
9
  ソリューションエクスプローラにおいて、csprojアイコンをダブルクリックして、csprojファイルを開き、
18
-
19
10
  以下のように、PublishSingleFileタグを追記して、trueに設定しました。
20
11
 
21
-
22
-
23
12
  ```ここに言語名を入力
24
-
25
13
  <Project Sdk="Microsoft.NET.Sdk">
26
14
 
27
-
15
+ <PropertyGroup>
16
+ <OutputType>WinExe</OutputType>
17
+ <TargetFramework>net6.0-windows</TargetFramework>
18
+ <Nullable>enable</Nullable>
19
+ <UseWindowsForms>True</UseWindowsForms>
20
+ <ImplicitUsings>enable</ImplicitUsings>
21
+ <AssemblyName>testApp</AssemblyName>
22
+ <AssemblyVersion></AssemblyVersion>
23
+ <FileVersion></FileVersion>
24
+ <ProduceReferenceAssembly>True</ProduceReferenceAssembly>
25
+ <PublishSingleFile>true</PublishSingleFile>
26
+ </PropertyGroup>
27
+ ```
28
+ Debugモードではなく、Releaseモードに設定して、ソリューションのビルトやリビルドを実行すると、
29
+ exeファイルの他に、deps.json、dll、pdb、runtimeconfig.jsonも同時生成され、この生成されたフォルダの中では、
30
+ exeファイルは動作するのですが、このexeファイルをこのフォルダの外に移動させると、起動しなくなってしまいます。
31
+ 以前の質問の環境では、PublishSingleFileをtrueに設定することで起動できたはずでしたが、今回は起動しない状態です。
32
+ また、以下のようにPublishTrimmedを追記すると、
33
+ ```ここに言語名を入力
34
+ <Project Sdk="Microsoft.NET.Sdk">
28
35
 
29
36
  <PropertyGroup>
30
-
31
37
  <OutputType>WinExe</OutputType>
32
-
33
38
  <TargetFramework>net6.0-windows</TargetFramework>
34
-
35
39
  <Nullable>enable</Nullable>
36
-
37
40
  <UseWindowsForms>True</UseWindowsForms>
38
-
39
41
  <ImplicitUsings>enable</ImplicitUsings>
40
-
41
42
  <AssemblyName>testApp</AssemblyName>
42
-
43
43
  <AssemblyVersion></AssemblyVersion>
44
-
45
44
  <FileVersion></FileVersion>
46
-
47
45
  <ProduceReferenceAssembly>True</ProduceReferenceAssembly>
48
-
49
46
  <PublishSingleFile>true</PublishSingleFile>
50
-
47
+ <PublishTrimmed>true</PublishTrimmed>
51
48
  </PropertyGroup>
52
-
53
49
  ```
54
-
55
- Debugモドではく、Releaseモドに設定して、ソリューションのビルトやリビルを実行ると、
50
+ 以下のようにサポトされていいというエラメッセージが出力されて、ビルドが失敗しま
56
-
57
- exeファイルの他に、deps.json、dll、pdb、runtimeconfig.jsonも同時生成され、この生成されたフォルダの中では、
58
-
59
- exeファイルは動作するのですが、このexeファイルをこのフォルダの外に移動させると、起動しなくなってしまいます。
60
-
61
- 以前の質問の環境では、PublishSingleFileをtrueに設定することで起動できたはずでしたが、今回は起動しない状態です。
62
-
63
- また、以下のようにPublishTrimmedを追記すると、
64
-
65
- ```ここに言語名を入力
66
-
67
- <Project Sdk="Microsoft.NET.Sdk">
68
-
69
-
70
-
71
- <PropertyGroup>
72
-
73
- <OutputType>WinExe</OutputType>
74
-
75
- <TargetFramework>net6.0-windows</TargetFramework>
76
-
77
- <Nullable>enable</Nullable>
78
-
79
- <UseWindowsForms>True</UseWindowsForms>
80
-
81
- <ImplicitUsings>enable</ImplicitUsings>
82
-
83
- <AssemblyName>testApp</AssemblyName>
84
-
85
- <AssemblyVersion></AssemblyVersion>
86
-
87
- <FileVersion></FileVersion>
88
-
89
- <ProduceReferenceAssembly>True</ProduceReferenceAssembly>
90
-
91
- <PublishSingleFile>true</PublishSingleFile>
92
-
93
- <PublishTrimmed>true</PublishTrimmed>
94
-
95
- </PropertyGroup>
96
-
97
51
  ```
98
-
99
- 以下ようにサポートされていというエラーメッセージが出力されて、ビルドが失敗ます
52
+ NETSDK1175 Windows フォームに関して、トリミング有効化はサポートおよび推奨されていません。詳細についてhttps://aka.ms/dotnet-illink/windows-forms を参照てください testApp
100
-
53
+ C:\Program Files\dotnet\sdk\6.0.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets
101
54
  ```
102
-
103
- NETSDK1175 Windows フォームに関して、トリミングの有効化はサポートおよび推奨されていません。詳細については、https://aka.ms/dotnet-illink/windows-forms を参照してください。 testApp
104
-
105
- C:\Program Files\dotnet\sdk\6.0.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets
106
-
107
- ```
108
-
109
55
  解決方法のご教示をお願い致します。
110
-
111
56
  また、単体で動作するexeファイルの生成については、csprojファイルを直接開いて編集する方法しかありませんか?
112
-
113
57
  IDEのプロジェクトメニューから、設定するメニューがありましたら、そちらのご教示もお願いします
114
-
115
58
  (見た限りではそれらしきメニューがわかりませんでした)。
116
-
117
59
  なお、ILMergeは使わず、標準のVisual Studio 2022のIDEで生成する方法があれば教えていただきたいです。
118
60
 
119
-
61
+ ### 追記質問
62
+ ご回答者様にご教示いただき、発行の操作によって、意図通りのことはできるようになりましたので、
63
+ 質問はクローズさせていただいてますが、もし、この処理をビルドの方法でご存知の方がいらっしゃいましたら、
64
+ ご教示いただけたらと思います。
120
65
 
121
66
  ### 補足情報(FW/ツールのバージョンなど)
122
-
123
67
  Windows 10
124
-
125
68
  Visual Studio 2022
126
-
127
69
  .NET 6.0