Xamarin.FormsでReleaseビルドしたら動かなくなる話

1
omanuke @omanuke

Releaseビルドで動かなくなって調べるのに時間をつぶしたのでまとめました… Xamarin.Formsで突然のCould not load file or assembly 'System.Runtime.Extensions' d.hatena.ne.jp/omanuke-ekunam…

2016-07-29 19:06:27
Atsushi Eno @atsushieno

@omanuke Formsは全然いじってないので詳しくないのですが `system:Environment.NewLine` のsystemが小文字で始まっているのは正しいんですか?

2016-07-29 20:32:20
omanuke @omanuke

@atsushieno ブログでは省いたんですが、ContentViewにxmlns:systemと設定があります。いずれにしてもDebugでは正常に動くけどReleaseだとエラーになるんですよ。いちどBundle assemliesオンにしたけど同様。そもiOSでも出ました

2016-07-29 20:35:09
Atsushi Eno @atsushieno

@omanuke XAMLパーサを眺め直していて気づきましたが、xmlnsが必要だからどこかで宣言しているはずでしたね。Releaseビルドだけで型が見つからない問題はまずlinkerに消されていないかを疑うといいです。

2016-07-29 20:41:32
ざまりん.ふぉーむずマン(ハワイ仕様) @ticktackmobile

そっか、debugでは通ってるから参照の問題ではないのか

2016-07-29 20:47:40
omanuke @omanuke

@ticktackmobile @atsushieno <Span Text="{x:Static x:Environment.NewLine}" />な感じです?{x:Environment.NewLine}?いずれにしてもコンパイラー先生に怒られます(´・ω・`)

2016-07-29 20:54:24
ざまりん.ふぉーむずマン(ハワイ仕様) @ticktackmobile

@omanuke @atsushieno 失礼、削り過ぎました。 Text="{x:Static x:Environment.NewLine}" です。

2016-07-29 20:55:33
NAKAMURA Atsushi @nuits_jp

@ticktackmobile @omanuke @atsushieno ぴーさん方式だと上手く動きますね。あと「&#xa;」でも動きました

2016-07-29 20:57:31
omanuke @omanuke

@atsushieno XAMLはリンカーで削っていいかチェックの対象に…なってないんですかねぇ…なさそうだなぁ…してほしいなぁ(/ω・\)チラッ

2016-07-29 20:58:29
omanuke @omanuke

@nuits_jp @ticktackmobile @atsushieno Text="{x:Static x:Environment.NewLine}"です?コンパイラーパイセンにおこられます・・・

2016-07-29 21:00:36
omanuke @omanuke

@nuits_jp @ticktackmobile @atsushieno うーん、確かにじぶんもぴーさんのとこ見てコピペして動かしたような気もするんですが、今張り付けるとコンパイル通らんですね…(´・ω・`)

2016-07-29 21:17:10
omanuke @omanuke

@ticktackmobile @nuits_jp @atsushieno 実機でないとすっ飛ばないとかあったような…

2016-07-29 21:19:38
Atsushi Eno @atsushieno

@omanuke まあ期待通りにリンクしてくれないことはあるでしょうね(期待が正しいのか間違っているのかは、わたしはFormsの事情に詳しくないのでわかりませんが)

2016-07-29 21:21:38
Atsushi Eno @atsushieno

assembly linkingで必要なものが削られていないか気になったら、まずDon't Linkでやってみればいいと思うの。

2016-07-29 21:22:46
ざまりん.ふぉーむずマン(ハワイ仕様) @ticktackmobile

Text="{x:Static x:Environment.NewLine}" にすると実機でも死なない。

2016-07-29 21:26:21
NAKAMURA Atsushi @nuits_jp

そもそもiOSの話だったのか。Androidの場合、エミュでも死にましたよ。x:だと死なない

2016-07-29 21:30:47