- 打开项目目录下.csproj文件
- 替换: </Project>,为下面的内容
- 粗体红色 Protect.xml 为 Dotfuscator的项目文件
- 粗体红色 bin\publish\App.exe 为混淆后的文件位置,复制输出操作不能放在混淆中进行
- 粗体红色 App.exe 只有是项目名的文件,其它文件发布时不会打包到ClickOnce
-
<PropertyGroup> <XenocodeLocation>"CMD.exe"</XenocodeLocation> <!--混淆操作必须要放在这里, 否则被混淆的.exe .dll时会引发错误,放在这里就不会出错--> <PostBuildEvent> if $(ConfigurationName)==Release "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe" "Protect.xml" </PostBuildEvent> </PropertyGroup> <PropertyGroup> <PreBuildEvent> </PreBuildEvent> </PropertyGroup> <Target Name="BeforeBuild" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <CreateProperty Value="true"> <Output TaskParameter="Value" PropertyName="Obfuscate" /> </CreateProperty> </Target> <Target Name="AfterCompile" Condition=" '$(Obfuscate)' != '' "> <!--复制到发布目录 复制操作放在这里,不然复制的文件就不正确--> <Copy SourceFiles="$(ProjectDir)bin\publish\App.exe" DestinationFiles="$(IntermediateOutputPath)App.exe" /> </Target></Project>
Vs2022 发布 ClickOnce 实现混淆加密
于 2022-11-29 11:35:51 首次发布