使用资源文件对本机库进行Nuget构建

时间:2018-11-20 06:00:55

标签: nuget native

我的项目结构如下。这是我可以直接购买的结构。我需要将其打包在Nuget中。该库是Win32本机包装和托管包装的组合。

下面是实际结构:

├───Includes
│       enums.cs
│       enums.h
│
└───Release
    │   AxCTSChart_v03_00.dll
    │   CTSCHARTLib_v03_00.dll
    │   CTSChart_en_v03_00.dll
    │   CTSChart_es_v03_00.dll
    │   CTSChart_fr_v03_00.dll
    │   CTSChart_it_v03_00.dll
    │   CTSChart_ru_v03_00.dll
    │   CTSChart_tr_v03_00.dll
    │   CTSChart_v03_00.lib
    │   CTSChart_v03_00.lic
    │   CTSChart_v03_00.OCX
    │   CTSChart_zh_v03_00.dll   
    │
    ├───DotNetV20_Wrapper
    │       AxCTSChart_v03_00.dll
    │       CTSCHARTLib_v03_00.dll
    │       
    │
    ├───English
    │       CTSChart.ini
    │
    └───German
            CTSChart.ini

在在线参考了众多但仍然很少的Nuget打包资源之后,我将其打包为以下结构(nupkg的内容)

│
├───build
│   ├───native
│   │   └───include
│   │           enums.cs
│   │           enums.h
│   │
│   └───x86
│       │   CTSChart_v03_00.lib
│       │   CTSChart_v03_00.OCX
│       │
│       ├───en
│       │       CTSChart_en_v03_00.dll
│       │
│       ├───es
│       │       CTSChart_es_v03_00.dll
│       │
│       ├───fr
│       │       CTSChart_fr_v03_00.dll
│       │
│       ├───it
│       │       CTSChart_it_v03_00.dll
│       │
│       ├───ru
│       │       CTSChart_ru_v03_00.dll
│       │
│       ├───tr
│       │       CTSChart_tr_v03_00.dll
│       │
│       └───zh
│               CTSChart_zh_v03_00.dll
│
├───content
│   │   CTSChart_v03_00.lic
│   │
│   ├───English
│   │       CTSChart.ini
│   │
│   ├───German
│   │       CTSChart.ini
│   │
│
├───lib
    ├───net20
    │       AxCTSChart_v03_00.dll
    │       CTSCHARTLib_v03_00.dll
    │
    └───net40
            AxCTSChart_v03_00.dll
            CTSCHARTLib_v03_00.dll

请帮我以下几点:

  • 我这样做正确吗?
  • 我应该将ocx文件放在nuget结构中的什么位置?
  • 如何在nuget的安装过程中/安装后注册ocx文件? nuget v3和更高版本根据文档不支持init.ps1脚本。

谢谢

0 个答案:

没有答案