windows8 store控件开源,另附 打包教程(希望为windows8的发展献上绵薄之力)
redsafi开源win8控件地址:http://www.redsafi.com/sugarui/index_cn.html
痛苦焦急的研究两天终于把开源控件打包成功。心情无比畅快快,写篇博客园与大家分享,满网上搜了一遍没有类似的教程,本篇算是首发,希望对大家有所帮助。
首先说明我们将要讲的是打一个vs 的Software Development Kit(sdk)包后缀名是.vsix。
前提:windows8&vs2012&vs2012sdk
1.新建solution,在solution上右键快捷菜单Add->New project,选择VSIXProject项目模板
2.创建好之后咱们看一下项目的结构
新建的项目默认情况下只有一个source.extension.vsixmanifest文件用来配置我们的安装包信息,用设计器打开:
3.除了author, 和version默认空是必填项以为其他根据自己的需要可选择的填入。
看下一页,Type of install 必须选择Extension SDK:
4.到这里配置第三页之前我们要在项目中添加SDKManifest.xml配置文件,用下面内容替换。
参考地址:http://msdn.microsoft.com/zh-cn/library/hh768146.aspx
<?xml version="1.0" encoding="utf-8" ?> <FileList DisplayName="allanxingLibrary" MinVSVersion="11.0" TargetFramework=".NETCore,version=v4.5" AppliesTo="WindowsAppContainer" SupportsMultipleVersions="Error" MoreInfo="http://www.msdn.microsoft.com/"> <File Reference="ClassLibrary1.dll"> <ContainsControls>True</ContainsControls> <ToolboxItems VSCategory="allanxingSDK" BlendCategory="allanxing for Windows 8"> <Item Type = "ClassLibrary1.CustomControl1"/> </ToolboxItems> </File> </FileList>
第三页点New添加新资源按照下图添加SDKManifest.xml文件
5.最关键的步骤到了~创建两个目录结构,记住要仔细检查这里不能出错
Redist/CommonConfiguration/neutral
References/CommonConfiguration/neutral
添加事先编译好的dll和pbd文件到References/CommonConfiguration/neutral下面
添加对应的pri文件和对应的[命名空间文件夹]到Redist/CommonConfiguration/neutral下面
[命名空间文件夹]用来存放类库Themes/Generic.xaml。
分别设置新添加的文件属性->Build Action=content.
include in VSIX= true.
6.编译生成,恭喜大家这样就完成了!
————————————————————————————
最后附送一个小技巧:
想不想让自己的控件在toolbox里显示像原生控件一样有漂亮的图标呢?
添加步骤:
1.制作16×16 的icon格式的图片
2.将图片添加到项目中设置图片属性buildAction设置为wmbedded resource
3.以控件完整的命名空间+控件的类名重命名图片
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!