.NET Conf 2017 Tokyo, Japan

今年も.NET Conf Local版の時期がやってまいりました。※昨年はdotnetconfなので表記ゆれが何とも言えません。

セッション概要はこちら。

Room AとRoom C+Dについてはセッション動画が公開されていますのでそちらを参照ください。

※動画はJapan C# User Groupのチャンネルに上がっています。

続きを読む

App Service の CI/CDでビルドエラー

ちょっとはまったのでメモ。(そのうち改善されると思われる)

はまった環境: Visual Studio 2017 で .NET Framework 4.6.2 なクラスライブラリでNuGetなパッケージを使用しているC#プロジェクト(NuGetはPackageReferenceを参照する)と、それを参照するASP.NETなアプリ(1つのソリューションにASP.NETとクラスライブラリなプロジェクトがある状態)
はまった理由:  App Service上(Kudu上)で msbuild 15.x がないから(たぶん)

普通にApp Service上でCI/CDを使って(今回はLocal Git)上記なプロジェクトをデプロイ(git push)すると以下のようにNuGetで取得するパッケージに含まれるアセンブリが見つからない旨のエラーがでてビルドに失敗します。(nuget restoreやdonet restoreしてるにも関わらず)

省略
:
remote: D:\Program Files (x86)\dotnet\sdk\2.0.0-preview1-005977\Microsoft.Common.CurrentVersion.targets(1964,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\home\site\repository\web1\Shared\Shared.csproj]
:
以下略

カスタムデプロイスクリプトを使用するようにして、dotnet build や dotnet msbuild を使ってもダメです。
※Kudu上に現状Previewなmsbuildがありますがそちらを使ってもダメ
※ちなみにプロジェクトがPackage.configを参照するようになってたら問題なくビルドできます。PackageReferenceの場合のみおかしい。

回避策: クラスライブラリなプロジェクトファイル(.csproj)を新しい形式に変換する

変換は以下のURLを参考に。

最低限Project要素の属性を新しくして TargetFrameworkVersion を TargetFrameworkにしてv.4.6.2 とかを net462 とかにします。あとは不要な要素はバスバスけして、AssemblyInfo.csも消したりしました。
修正後、Visual Studio 2017上でちゃんとプロジェクトがロードできてビルドできればひとまず大丈夫かと思います。(Minなcsprojにしてから後でNuGetパッケージ追加したりもろもろいじってもよいかと思います。

変換後は dotnet build や dotnet publish で問題なくビルドできます。(つら)

過渡期な問題だと思いますが、もし嵌った人がいれば参考にしてもらえると。

dotnetConf 2016 Japan

7月9日(土)に dotnetConf の日本版である dotnetConf 2016 Japan が開催されました。(C#ユーザー会が主催です)

 

バナー画像はおいらが適当にコラりました。タイムテーブル的にはこんな感じですね。結構もりだくさんです。
※ 自分は裏方すらする気がなかったんですが岩永さんの無情な一言により(?)司会他やりました。

13:10 – 13:50 チャックさん dotnetConf 2016 Japan 開催にあたって ~ .NET の今と未来
14:00 – 14:45 岩永信之 .NET Standard
14:55 – 15:40 榎本さん+ちょまどさん Xamarinの新しい話とMonoの深い話
15:50 – 16:35 Brian Lagunas MVVM Done Right with Xamarin.Forms and Prism
16:45 – 17:30 @tanaka_733 .NET Core on RHEL
17:40 – 18:25 しばやん ASP.NET Core
18:35 – 19:20 ぼんぷろ .NET Core/VS/VSCode他ツール類

1発目のチャックさんがさらっと後続つぶししてたのが面白かったです(?)
岩永さんは安定、Xamarin話はEテレ、Braianはお茶目+貴重なPrism話、RHELは日本での貴重な内容、ASP.NET Coreは愛のある良いとこダメなとこ、ぼんぷろ先生はC#たん、みたいな感じでした(ひどいまとめ)

各セッション資料などは岩永さんのBlogなどにまとまってるのでそちらを参照ください。

Brianさんはほぼライブコーディングだった気がする。

当日の様子はTwitterのハッシュタグやYoutubeを追うといいかもです。

※Youtubeは最初のセッション、音声トラブルとかあったりして音が聞こえづらいかも。そのうちCh.9にあがるのを期待。

なお、Microsoftさんのご厚意により懇親会とサプライズケーキが用意されました。

https://twitter.com/aetos382/status/751961913924333568

間違えた、こっちです。

サプライズなのにケーキあることを若干漏らしてるちょまど氏

あと大量のピザ+サブウェイ!

最後に集合写真をとりましたので置いておきますね。

なおこのイベント、本家dotnetConfのローカル版ということでちゃんと本家の公式にも載ってます。

そんな感じで面白かったです。(ちょっと長丁場すぎましたがw)
みなさまお疲れ様でした&ありがとうございました。