rksoftware

Visual Studio とか C# とかが好きです

JXUG Xamarin もくもく会 東京 3月 を開催しました

■ JXUG Xamarin もくもく会 東京

JXUG Xamarin もくもく会 東京 3月 を開催しました。

Xamarin もくもく会 は もくもくしたり、情報交換したりする会です。

先月は多くの方に参加いただきました。そろそろ会場の真の力を開放する時が来そうと言いましたが、だまして悪いがこれもコミュニティ活動です。
(壁が開いて隣の部屋とつなげられる。けれどもそれほどの席は必要でなかった)
今月も通常スタイルで開催しました。
f:id:rksoftware:20180331144204j:plain

■ 目指す勉強会スタイル

私の主催する他の会と共通なのですが、世界一敷居の低い勉強会を目指しています。
何か聞きたいことがある場合は、聞く相手を決めずに独り言のようにつぶやくと誰かが拾ってくれる、そんなスタイルでやっています。

不定期ではありますが、ぼちぼち開催していきますので、ご興味があれば是非参加してみてください。

秋葉原 C# もくもく会 #32 勉強会を開催しました

■ C# もくもく会

C# もくもく会 #32 を開催しました。

C# もくもく会 は東京の秋葉原で毎週木曜日に開催している .NET 系の勉強会です。

f:id:rksoftware:20180330005314j:plain
もくもく自習を基本とし、分からないことを教えあったり情報共有したりしている会です。 定期開催していますので、お時間のある時に遊びに来ていただければと思います。
ちょっと詰まった時、ネット上で聞くのははずかしいなぁ、という課題のできた時などにも思い出していただけると嬉しいです。

■ 目指す勉強会スタイル

世界一敷居の低い勉強会を目指しています。
何か聞きたいことがある場合は、聞く相手を決めずに独り言のようにつぶやくと誰かが拾ってくれる、そんなスタイルでやっています。

■ 次回予定

次回は 2018/04/05 に開催予定です。

C# に関心のある方、是非遊びに来てください。

Visual Studio の 15.6.4 がリリースされました

前回のアップデートから 3 日ですが Visual Studio の 15.6.4 がリリースされました。

相変わらず日本語ページは遅いので、最新のリリースは英語版を参照するのがおすすめです。

■ 更新内容

今回は多くはありません。

  • 複数のターゲットフレームワークを持っているプロジェクトがビルドできない問題
  • サーバにリモートデスクトップでログインし VS を使用する場合に、他のユーザーが VS 使用していると、設定が維持されず毎回初回起動の状態になる問題
  • Android LLVM libc++ static library STL を使用するとコンパイルエラーになる問題
  • Xamarin.Android, Xamarin.iOS で拡張メソッドの使用時に NullReferenceException が発生するシナリオがある問題
  • ユニットテストがテストエクスプローラでアルファベット順にソートされない問題

影響のない方もいるかもしれマ円が、とりあえずアップデートしましょう。

■ 更新方法

Visual Studio の更新はメニューの ツール > ツールと機能を取得 で開くインストーラーから行えます。

城東.NET #18 勉強会を開催しました。

■ 城東.NET

城東.NET #18 を開催しました。


f:id:rksoftware:20180324135339j:plain
城東.NET は東京の最近は秋葉原で毎月第3水曜日に開催している .NET 系の勉強会です。
発表を中心として、発表でなくとも最近やった事や新しい情報などを参加者で共有している会です。

f:id:rksoftware:20180324135435j:plain
最近は懇親などの意味も含めて、会の後積極的に食事に行くようにしていたりもします。
今月はちょうど会場の秋葉原で新しいお寿司屋さんが開店したばかりでしたので。
※開店したてのお寿司屋さんですが回転はしていません。

■ 次回予定

来月は 04月18日(水)に開催の予定です。

.NET に関心のある方、是非遊びに来てください。

城東.NET #18 勉強会で話をしてきました

先日開催した

にて Xamarin でクラシックデスクトップアプリ(WPF)が作れるらしいので試してみた というタイトルで話をしました。

Xamarin.Forms のプレビュー版で WPF アプリが作れるようになりました。ほぼ、プレビュー版のライブラリを NugGet で取得する方法を共有しした感じの内容です。

■ 次回予定

来月は 04月18日(水)に開催の予定です。

.NET に関心のある方、是非遊びに来てください。

秋葉原 C# もくもく会 #31 勉強会を開催しました

■ C# もくもく会

C# もくもく会 #31 を開催しました。

C# もくもく会 は東京の秋葉原で毎週木曜日に開催している .NET 系の勉強会です。
もくもく自習を基本とし、分からないことを教えあったり情報共有したりしている会です。 定期開催していますので、お時間のある時に遊びに来ていただければと思います。
f:id:rksoftware:20180322201949j:plain
ちょっと詰まった時、ネット上で聞くのははずかしいなぁ、という課題のできた時などにも思い出していただけると嬉しいです。

3月中は Adaptive Code ~ C#実践開発手法 第2版 を持っていくので、興味のある方是非遊びに来てください。

■ 次回予定

次回は 2018/03/29 に開催予定です。

Adaptive Code ~ C#実践開発手法 第2版

「Adaptive Code ~ C#実践開発手法 第2版」の読書会を計画しています。
どのような会にして行くかは、今後の検討ですが当日眺められるように数冊書籍を持っていく予定です。
また、読書会の方法の希望も参加者の方にお聞きしたいと思っています。興味のある方、ぜひ遊びに来てください。 https://www.amazon.co.jp/dp/4822253546

C# に関心のある方、是非遊びに来てください。

Xamarin でクラシックデスクトップアプリ

Xamarin。Forms でクラシックデスクトップアプリ(WPF)が作れるらしいので試してみました。

■ 参考

何番煎じかわからない状況ですが、Xamarin.Forms の v3.0.0.296286-pre2 が NuGet に乗って多少手順も楽になったので書き残しておきます。

■ プロジェクトの作成

Cross-Platform > Mobile App (Xamarin.Forms) を選択し、新規作成します。
f:id:rksoftware:20180322005419j:plain
ここで、少し気になる点として、(Xamarin.Forms) という記載がありますが、先に進めます。
テンプレートの作成では、Code Sharing Strategy で日本で良く選ばれている .NET Standard を選択。
f:id:rksoftware:20180322005437j:plain
ここで皆さんお気づきでしょうか?
かつてあった UI TechnologyXamarin.Forms or Native の選択がなくなっていることに。
Native のソリューション作るのが少し手間になりそうですね。

■ クラシックデスクトップアプリ プロジェクトの追加

ソリューションに WPF アプリのプロジェクトを追加します。
プロジェクトテンプレートで クラシックデスクトップアプリ > WPF App を選択してください。
.NET Framework は 4.6.1 で大丈夫です。

■ クラシックデスクトップアプリ へ プロジェクト参照の追加

WPF アプリのプロジェクトから、.NET Stardard プロジェクトを参照するよう、参照の追加をしてください。

■ NuGet の更新/追加

ソリューションの NuGet パッケージの管理で、ソリューションのすべてのプロジェクトに、pre の Xamarin.Forms を更新/追加してください。
NuGet の画面で、「プレリリースを含める」チェックを ON にするのがポイントです。
f:id:rksoftware:20180322005508j:plain

■ クラシックデスクトップアプリ へ NuGet の追加

WPF アプリのプロジェクトに Xamarin.Forms.Platform.WPF パッケージを追加します。
f:id:rksoftware:20180322005524j:plain

■ クラシックデスクトップアプリ の 変更

WPF アプリの MainWindow クラスを変更します。

  • コードビハインド ( MainWindow.xaml.cs ) で基底クラスを Xamarin.Forms.Platform.WPF.FormsApplicationPage に変更します。
  • コンストラクタに Xamarin.Forms.Forms.Init();LoadApplication(new {ソリューション名}.App()); を追加します。
  • 合わせて xaml ( MainWindow.xaml.cs ) xmlns:xam="clr-namespace:Xamarin.Forms.Platform.WPF;assembly=Xamarin.Forms.Platform.WPF" を追加します。
  • さらに xaml のトップレベルの要素を xam:FormsApplicationPage に変更します。

結果二つのファイルは次のようになります。
※ここでは、XWpfV3 というソリューション名にしています。

namespace XWpfV3.Wpf
{
    public partial class MainWindow : Xamarin.Forms.Platform.WPF.FormsApplicationPage
    {
        public MainWindow()
        {
            InitializeComponent();

            Xamarin.Forms.Forms.Init();
            LoadApplication(new XWpfV3.App());
        }
    }
}
<xam:FormsApplicationPage x:Class="XWpfV3.Wpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:XWpfV3.Wpf"
        xmlns:xam="clr-namespace:Xamarin.Forms.Platform.WPF;assembly=Xamarin.Forms.Platform.WPF"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        
    </Grid>
</xam:FormsApplicationPage>

■ 実行

実行すると、あっさり Welcome to Xamarin.Forms! です。
f:id:rksoftware:20180322005540j:plain

簡単ですね。
次回以降、共有コード内の画面定義 MainPage.xaml を編集していってみようと思います。