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
おおお。
上がってます。実際に導入しての確認は時間ができた時にやってみます。
|