如何通过 MSBuild 脚本设置 WinForms 应用程序的输出类型



嗨,我是 MS 构建脚本的新手 我编写了一个简单的脚本来构建我的应用程序

<ItemGroup>
<FilesToCompile Include="Form1.cs" />       
<FilesToCompile Include="Form1.Designer.cs" />
<FilesToCompile Include="Program.cs" />
<FilesToCompile Include="PropertiesAssemblyInfo.cs" />
<FilesToCompile Include="PropertiesResources.Designer.cs" />
<FilesToCompile Include="PropertiesSettings.Designer.cs" />
</ItemGroup>
<ItemGroup>
<ResourceFiles Include="PropertiesResources.resx" />
</ItemGroup>
<PropertyGroup>
<OutputDir>bindebug</OutputDir>
<OutputAssembly>$(OutputDir)TestHelloAuto.exe</OutputAssembly>
<Optimize>false</Optimize>
</PropertyGroup>
<Target Name="Build">
<Message Text="build MSbuild project file from scratch" />
<MakeDir Directories="$(OutputDir)"/>
<GenerateResource Sources="@(ResourceFiles)">
<Output TaskParameter="OutputResources" ItemName="CompiledResources"/>
</GenerateResource>
<Csc Sources="@(FilesToCompile)" OutputAssembly="$(OutputAssembly)" Optimize="$(Optimize)" TargetType="exe" 
Resources="@(CompiledResources)"/>
</Target>

我的问题是,默认情况下,创建的"exe"是输出类型的控制台应用程序,并在我运行 exe 时打开控制台。 如何通过脚本将应用程序的输出类型更改为"Windows应用程序" 即使我通过Visual Studio IDE将输出类型设置为Windows应用程序,也会发生这种情况。 任何帮助将不胜感激。

假设您没有 IDE 为您更改此设置,则在<PropertyGroup>元素中,您可以通过添加另一个 XML 节点将输出程序集类型更改为所需的类型:<OutputType>WinExe</OutputType>

最新更新