はまやんはまやんはまやん

hamayanhamayan's blog

【.NET向けライブラリ+アプリ 開発日記 day01】 環境設定

急にどうした?

なんとなく試してみたい開発環境というか開発体制が頭の中で固まってきたので、ちょっと実践したくなった。

題材

競技プログラミングサイトの.NET APIとそれを使ったWPFアプリ

入れたい要素

まずはレポジトリを作る

https://github.com/hamayanhamayan/online-judge-apis-dotnet

とりあえず、MITライセンスでgitignoreはVisual Studioで作った。

f:id:hamayanhamayan:20190317012556p:plain

CI環境 AppVeyorに登録

AppVeyorにとりあえず、登録して、レポジトリを指定しておく。

次は、ソリューションを作る

.Net Standartとか.Net Coreとかどれ向けに作っていいか正直良くわからんので、これで作成。

f:id:hamayanhamayan:20190317012847p:plain

後々残すか分からないけど、適当にクラスを作っておく。
テスト駆動開発するので、テストプロジェクトも作成。
テストプロジェクトの方も、さっき作ったクラスに対して適当にテストしておく。
テストフレームワークはMSTestを使うが、ChainingAssertionだけ入れておく。

f:id:hamayanhamayan:20190317012856p:plain

ちゃんとオールグリーンですね。

Initial Commit!!

正確にはInitialではないが、masterへ初コミット。
どうせ一人だし、形になってくるまではmasterに突っ込んでくことにする。
ここでgithubで何やら❌が出る。

f:id:hamayanhamayan:20190317012913p:plain

Appveyorででているので、見に行ってみる。

Build started
git clone -q --branch=master https://github.com/hamayanhamayan/online-judge-apis-dotnet.git C:\projects\online-judge-apis-dotnet
git checkout -qf 9d55145626512d8371989e979751d6433944e1cb
msbuild "C:\projects\online-judge-apis-dotnet\online-judge-apis-dotnet.sln" /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. All rights reserved.
  online-judge-apis-dotnet -> C:\projects\online-judge-apis-dotnet\online-judge-apis-dotnet\bin\Debug\online-judge-apis-dotnet.dll
C:\projects\online-judge-apis-dotnet\online-judge-apis-dotnet-test\online-judge-apis-dotnet-test.csproj(72,5): error : ??????????????????????? NuGet ???????????????????????????????????[NuGet ????????] ???????????????http://go.microsoft.com/fwlink/?LinkID=322105 ????????????????????? ..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.props ???
Command exited with code 1

?ばっかりだけど、他の画面で確認すると、NuGetの取得に失敗しているらしい。
ぐぐる解決法がある。

f:id:hamayanhamayan:20190317012939p:plain

これをやると

f:id:hamayanhamayan:20190317012946p:plain

成功してる!

f:id:hamayanhamayan:20190317012957p:plain

テストも成功してるので、満足。
Nugetデプロイがまだ残っているが、CIはできる状態になったので、満足。
doxygenの自動化を先にやりたい気持ちもあるけど・・・
本当はasciidocとかでドキュメント管理(RedPenとかで校正とか)してってシステムも作りたいが・・・
開発始めたくなるよね・・・