WPF程序只生成一个Exe文件

创建WPF应用并使用Prism.Wpf后,项目生成的Debug文件夹包含多种文件。为了简化,可以将config设为嵌入资源,调试信息设为嵌入式,并用Costura.Fody将dll打包。同时,通过修改项目文件隐藏xml文件,最终只保留exe文件。

创建一个WPF应用程序(.Net Framwork4.7),NuGet安装Prism.Wpf包,生成后Debug文件如图所示

  除了可执行文件Test.exe外,还有大量的引用的Dll文件、xml文件、config配置文件和pdb调试文件。有时候我们不希望看到这么多文件,只想拿到一个exe文件就能运行程序。那么我们就需要将dll、xml、config、pdb 打包到exe文件中。

1、将config文件生成操作属性设置成“嵌入的资源”。

 2、将生成属性中,点击输出栏“高级”按钮,对话框中调试信息改为“嵌入式”。

3、nuget 安装Costura.Fody包,可以将dll文件设置成为嵌入的资源。

4、xml文件的隐藏

打开Test.csproj文件,可以选择Debug和Release两个父节点中,添加

<AllowedReferenceRelatedFileExtensions>.allowedextension</AllowedReferenceRelatedFileExtensions> 

 最终重新生成后,Debug文件夹中只剩下exe文件。

WPF (Windows Presentation Foundation) 程序中,生成的.exe文件(即可执行文件)通常不会直接暴露出来供用户修改文件名,因为它是由Visual Studio等集成开发环境(IDE)管理的项目产物。如果你想更改最终发布的安装包或者部署的应用程序文件名,你需要在打包阶段进行设置。 以下是使用NuGet Package Manager Console或MSBuild命令行进行操作的基本步骤: 1. **使用NuGet Package Manager Console**: - 打开Solution Explorer,在解决方案资源管理器中找到包含项目的`Properties`目录。 - 双击打开`Package Manager Configurations`文件(`.nuget.config`),在`<configuration>`标签内添加: ``` <PropertyGroup> <OutputPath>$(SolutionDir)\MyCustomFolder\</OutputPath> <!-- 或者如果你想要自定义.exe文件名 --> <ApplicationIcon>myicon.ico</ApplicationIcon> <ApplicationManifest>assemblyInfo.application.manifest</ApplicationManifest> <ApplicationName>MyApp.exe</ApplicationName> </PropertyGroup> ``` 这里`OutputPath`指定输出位置,`ApplicationName`用于设置.exe文件名。 2. **使用MSBuild**: - 如果你想通过命令行定制,可以在项目的`csproj`文件中添加`<PropertyGroup>`标签,类似上面的`.nuget.config`配置。例如: ```xml <PropertyGroup> <OutputPath>bin\MyCustomFolder\</OutputPath> <ApplicationManifest>assemblyInfo.application.manifest</ApplicationManifest> <AssemblyName>MyApp</AssemblyName> <RootNamespace>YourNamespace</RootNamespace> <!-- 其他属性如ProductVersion、ProductName等 --> </PropertyGroup> ``` 保存并重新构建项目,应用新的设置。 记住,这些设置会影响到发布后的应用程序,而不是源代码中的.exe文件名。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值