トップページ > 記事閲覧
Windows版 Dxlib NuGetパッケージ化の要望
名前:SUIMA 日時: 2018/02/27 09:26

お世話になっております。 Dxlibの配布方式に関するご提案というか、要望なのですが。 現在zip形式で配布されております .Net版 Dxlib を、 NuGetのパッケージとして配布して頂くことはできませんでしょうか? 私、WPFとDxlibを組み合わせたアプリを開発中なのですが、ソースコードをGitHub上でホストしており、 DLLをアップロードすることが躊躇われるのでNuGetのパッケージとしてあると、非常に助かります。 その他、メリット・デメリットを上げますと メリット ・(ユーザ側での)プロジェクトへのライブラリ追加が半自動化される。 ・(ユーザ側での)バージョン更新時が容易になる。 デメリット ・(管理人様が)NuGetパッケージ化の自動化が必要 といったところでしょうか? .Net版 Dxlib が、あくまでも「おまけ」であることは重々承知しておりますが、どうかご検討頂けませんでしょうか? よろしくお願いいたします。
メンテ

Page: 1 |

Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.1 )
名前:管理人 日時:2018/02/28 01:26

NuGet がどのようなものなのか今日始めて調べました プロジェクトへの組み込みを半自動化するためのもののようですが、.NET版 DXライブラリは DxDLL.cs をプロジェクトに追加するか、DxDLL.cs の代わりに DxLibDotNet.dll をプロジェクトに組み込むかを 選択できるようになっているのですよね・・・ そのような場合 NuGet のパッケージとしては二つに分けなければならないのでしょうか・・・?
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.2 )
名前:SUIMA 日時:2018/02/28 05:12

お忙しい中、夜遅くまでご対応いただきありがとうございます。 C#プロジェクトへのDxlib組み込み方法に関してですが、 .csファイルをプロジェクトに追加するよりも、 .dllを参照追加するほうが一般的であると考えます。 他のNuGetパッケージに関しても、プロジェクトにコードを追加するパッケージは、 JavaScriptやcssのコードを除いて、これまで見たことがありません。 なので、私個人の意見としては、.dll形式での配布のみで十分ではないのかと考えます。 .cs と、.dllの組み込み方法の切り替えに関しては、 どちらの方法でも、 "DxLib.dll" と "DxLib_x64.dll" は共通して追加が必要なため Dxlib.Core ├ DxLib.dll └ DxLic_x64.dll Dxlib ... Dxlib.core に依存 └ DxLibDotNet.dll Dxlib.cs ... Dxlib.core に依存 └ DxDLL.cs 上記様なパッケージ構成にし、パッケージの依存関係を利用して組み込むと言った方法は如何でしょうか?
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.3 )
名前:管理人 日時:2018/02/28 23:26

ご助言ありがとうございます なるほど、つまり3つのパッケージを用意して、実際にパッケージをインストールされる方は DxLibパッケージか DxLib.csパッケージのどちらかを選択する、というわけですね・・・ まだ NuGetパッケージとして登録するかは決めていませんが、次の週末にでも簡単にできそうだったら作成してみます (^ ^;
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.4 )
名前:yumetodo 日時:2018/03/03 14:23

ついでにいうとNuGetはなにもC#だけではなくC++にも使えるので(ex: opencv.win.native)、C++版DxLibもNuGetに追加を検討していただければと
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.5 )
名前:管理人 日時:2018/03/03 23:35

NuGetパッケージを作成してみたのですが、ビルドすると作成される実行ファイルが作成される フォルダ( bin\Debug や bin\x86\Debug など )に DxLib.dll と DxLib_x64.dll が存在しないと 正常に実行することができないのですが、少し調べただけではどのようにすればビルド時に作成される Debug などのフォルダに DxLib.dll と DxLib_x64.dll がコピーされるようにできるのか分かりませんでした orz こちらに作成した NuGetパッケージと、作成に使用したファイルを圧縮したものをアップしましたので、 もし解決する方法についてご存知でしたらご助言いただけないでしょうか? m(_ _;m https://dxlib.xsrv.jp/temp/NuGetTest.zip > yumetodoさん .NET版と同じような要領で作成すれば良いのでしたら追加できると思います ( VisualC++ 版だけでOKですよね? )
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.6 )
名前:SUIMA 日時:2018/03/04 07:10

お休みの所、早速パッケージを作成して頂き、ありがとうございます。 NuGetのパッケージには、Buildに介入できる仕組みが用意されていますので、そちらを利用することで、出力フォルダにファイルをコピーすることが出来ます。 ------------------------------------------------------------------------------------------ > DxLib.NetDLL.targets <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="スキーマ_URL"> <ItemGroup> <None Include="$(MSBuildThisFileDirectory)..\lib\Native\DxLib.dll"> <Link>DxLib.dll</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> <None Include="$(MSBuildThisFileDirectory)..\lib\Native\DxLib_x64.dll"> <Link>DxLib_x64.dll</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup> </Project> ------------------------------------------------------------------------------------------ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> を付けることで、Build時に、指定したファイルを出力フォルダにコピーします。 上記の DxLib.NetDLL.targets ファイルを .nuspec ファイルでパッケージに追加することで利用できます。 メールにて管理人様にファイルをお送り致しておりますので、詳しくはそちらをご確認ください。
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.7 )
名前:yumetodo 日時:2018/03/04 08:42

>VisualC++ 版だけでOKですよね? はい。vc100, vc110, vc120, vc140の対応をお願いします。 理想は DxLib.Core-vc100 DxLiv.Core-vc110 DxLib.Core-vc120 DxLib.Core-vc140 DxLib.SoftwareRender-vc100 DxLib.SoftwareRender-vc110 DxLib.SoftwareRender-vc120 DxLib.SoftwareRender-vc140 DxLib.3DModel-vc100 DxLib.3DModel-vc110 DxLib.3DModel-vc120 DxLib.3DModel-vc140 DxLib-vc100 DxLib-vc110 DxLib-vc120 DxLib-vc140 のようにパッケージを作って DxLib.SoftwareRender -> DxLib.Core DxLib.3DModel -> DxLib.Core DxLib -> DxLib.SoftwareRender DxLib -> DxLib.3DModel のような依存になるといいんですが、現在の配布形態だとソフトウェアレンダリングと3DMODELは別のlibにそもそも分けていましたっけ・・・?
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.8 )
名前:管理人 日時:2018/03/04 21:56

メールありがとうございます 添付していただいたファイルを参考に出力フォルダに DxLib.dll と DxLib_x64.dll がコピーされるようにしました! 早速 NuGet の方にアップしてみましたので、よろしければご確認ください ( とりあえず DxLibDotNet.dll を使用するパッケージのみにしました ) あと、お手数で申し訳ありませんが改善すべき点などありましたら教えてください m(_ _;m > yumetodoさん Core, SoftwareRender, 3DModel と幾つもパッケージを分けるのは大変なので、DxLib.CPPStaticLib のような パッケージだけにしようと思います DxLib-vc100 DxLib-vc110 DxLib-vc120 DxLib-vc140 の4バージョンをご所望とのことですが、こちらはパッケージが4つあって、インストールする方が 使用している VisualStudio のバージョンに合わせてインストールするパッケージを選択する、ということでしょうか? > 現在の配布形態だとソフトウェアレンダリングと3DMODELは別のlibにそもそも分けていましたっけ・・・? ソフトウェアレンダリングは lib が分かれていますが、3DMODEL は分かれていません
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.9 )
名前:yumetodo 日時:2018/03/04 22:35

>こちらはパッケージが4つあって、インストールする方が >使用している VisualStudio のバージョンに合わせてインストールするパッケージを選択する、ということでしょうか? Boostなんかもそうしているので・・・と思ったら、boostは全部入りも配っていたか。 nuget.org/packages/boost/ nuget.org/profiles/sergey.shandar 別にビルド回数が増えるわけではないので、どうせ自動化するのでしょうから、 ここはboostに習って、分けたものと全部入りの計5つをお願いしたいところです
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.10 )
名前:管理人 日時:2018/03/06 01:21

ご返答ありがとうございます では全部入りパッケージとユーザーが選べるVisualStudioバージョン毎の4パッケージを用意してみます
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.11 )
名前:管理人 日時:2018/03/12 00:40

お待たせしました、NuGetギャラリーに DxLib.vc DxLib.vc100 DxLib.vc110 DxLib.vc120 DxLib.vc140 を追加しました よろしければご確認ください m(_ _)m
メンテ
Re: Windows版 Dxlib NuGetパッケージ化の要望 ( No.12 )
名前:yumetodo 日時:2018/03/13 20:09

おおお。 上がってます。実際に導入しての確認は時間ができた時にやってみます。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存