虽然是一个CAD二次开发的框架,也可以适用于Revit二次开发,等其他采用c#语言的工业软件的二次开发
项目结构
- TemplateAppModule:用于启动CAD,并注入CAD的命令,菜单按钮和Ribbon按钮,集成加密模块(集成TemplateUI,如果不需要UI界面的话,可以集成templateService)
- TemplateApiUtilModule:用于项目中可能需要的Api请求
- TemplateCadUtilModule:用于项目中需要的cad的静态方法
- TemplateConsoleModule:用于项目中可能需要的功能测试
- TemplateModelModule:用于个项目中需要的数据类
- TemplateNetUtilModule:用于项目中需要的对Net封装的静态方法
- TemplateServiceModule:用于项目中需要的服务,生成图形,生成表格,生成需要的数据等等(logger框架,rougamo(aop框架 待验证))(集成TemplateModel,TemplateCadUtil,TemplateApiUtil,TemplateNetUtil)
- TemplateUIModule:用于项目中的UI界面(prism,materialdesign,propertyChanged.fody)(集成TemplateService,TemplateModel)
- TemplateSetupModule:用于快速制作安装包 (Wpf)(集成TemplateApp)
- TemplateStartUpModule:用于启动CAD,并在启动后快速加载dll文件(集成TemplateApp)
- TemplateEncryptionModule:加密模块,用于程序快速加密(Wpf对话框,可配置公钥)
- TemplateDecryptionModule:解密模块,用于管理员进行解密(wpf对话框,可配置公钥)
- TemplateUpdateModule:自动更新模块,用于开发者对程序进行更新
- 代码混淆模块
多项目模板制造方法VisualStudio2022制作多项目的解决方案模板 - ATATA - 博客园
记录几个重要的地方
关于nuspec文件
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>988d3115-de93-476c-97c7-f0cbc8ed91ac</id>
<version>1.0.0</version>
<description>CAD二次开发项目模板</description>
<authors>DoHow</authors>
<packageTypes>
<packageType name="Template" />
</packageTypes>
<frameworkAssemblies>
<frameworkAssembly assemblyName="System" targetFramework=".NETFramework4.7.2" />
</frameworkAssemblies>
</metadata>
<files>
<file src="**\bin\Debug\**\*.dll" target="content" />
<!-- 包含模板文件 -->
<file src="**\*" exclude="**\bin\**;**\obj\**;**\.vs\**;**\.git\**;*.nuspec;*.nupkg;*.exe" />
</files>
</package>
关于 nuget的命令 nuget pack Template.nuspec -NoDefaultExcludes -NoPackageAnalysis
关于非nuget下载的动态库,放在项目文件夹下面的libs文件夹下面