2016-11-09 37 views
0

我可以发布一个二进制.NET程序集作为NPM包吗?我可以使用NPM发布和使用二进制.NET程序集吗?

其他项目如何通过安装包来引用该程序集?

背景:

我写日志框架将从5左右的其他项目使用。该框架包括4个部分组成:

  • 一个.NET日志服务器库:来自客户端的
  • 处理的日志消息的二进制.NET组件的web客户端Javascript库:用于发送日志中的一个角模块从Web客户端的消息
  • .NET客户端库:从.NET应用程序
  • 一个网络信息中心的Javascript里发送日志消息的二进制.NET程序集brary:一个角模块,用于查看和控制日志

我们需要发布这些组件,使得它清楚地向包的用户,他们属于一起的方式UI组件,并发布和版本一起(即服务器库的0.8版不能与0.9版的Web客户端库一起使用)。

我们尝试:

起初,我们认为坚持本地工具 - 即发布使用的NuGet使用NPM的角模块的.NET库,和。

但是,这种方法使得它很难保持在.NET和Web组件一致的,因为没有办法来指定的NuGet和NPM

之间的版本依赖

相反,我们现在正在考虑发布一份所有四个组件在一个NPM软件包 - 安装软件包的项目可以忽略未使用的组件。

但是我们不确定如何在Visual Studio 2015 C#/ .NET项目中安装这样的包。理想情况下,我们会运行

npm install --save foo-logging 

和两个组件FooLoggingClient.dll和FooLoggingServer.dll将根据“引用”会自动显示。

但不幸的是,我们有一个装配参考手动添加到

node_modules\foo-logging\dist\FooLoggingClient.dll 

这工作 - 但感觉就像我们对粮食工作。

问题:

我们正朝着正确的方向走吗?发布多平台软件包是否有更好的工具或方法?

+0

不知道npm与.Net的东西工作,但它听起来很哈哈。 Nuget可以管理Javascript位。 – DavidG

回答

0

我不认为这是开箱即用的,你必须自己动手。

你有3个选择这里:

  • 手动基准的DLL在您的项目。 (一个时间上只安装)
  • 创建自己的安装脚本,该DLL从node_modules my_install [module] =>npm install +如果DLL文件时,才需要update .csproj/project.json
  • 在在附加的DLL从node_modules文件夹启动负载(仅适用于运行引用-时间)。
相关问题