Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ChmSourceConverterのターゲットバージョンを下げる #1195

Conversation

berryzplus
Copy link
Contributor

PR の目的

ChmSourceConverterのターゲットフレームワークバージョン(net472)をvs2017標準搭載バージョン(net461)に下げることにより、追加コンポーネントをインストールすることなくツールのビルドを行えるようにする。

カテゴリ

  • その他

PR の背景

#1192 で報告された通り、ChmSourceConverter のターゲットは net472 になっている。

これは、もともと appveyor 専用ツールとして作成した ChmSourceConverter の稼働フレームワークとして当時の最新安定verを選択したことが原因です。

元issue #1192 ではターゲット net472 をビルド要件に含める提案がなされています。

個人的に、サクラエディタのビルド要件に .NET Framework の特定バージョンを含めるのには違和感を覚えています。何故かといえば、サクラエディタは .NET Framework での開発に対応していないからです。現状のサクラエディタは Windows API を直接駆使して動作するネイティブCアプリなので、共通言語ランタイムを介して Windows を操作する .NET アプリとは根本的に別モノです。共通言語ランタイムを介してサクラエディタの機能拡張を行える目途が立つまでは、.NET Frameworkに依存しているかのような設定を入れるべきじゃないような気がします。

しかし、その間HTMLヘルプのビルドができない状態を放置してよいのか?というと、それはそれで違うような気がします。

最近追加されたC#のツールの設定を見ると、net461向けになっています。
これらに文句がでていないってことは、net461ならOKってことなんだと思います。

ChmSourceConverter のターゲットフレームワークバージョンをこれらに合わせれば、ビルドができない問題は解決すると思います。

バージョンを下げることにより、すっかり忘れていましたが「できるだけデフォルトインストールで開発できるものを作ろう!」って方針にも合致します。

PR のメリット

  • コンパイル済みHTMLヘルプをビルドする際に必要な visual stdio のコンポーネントが減る。
  • 最近追加された C# で書かれたツールとターゲットフレームワークバージョンが揃う。

PR のデメリット (トレードオフとかあれば)

  • なし

PR の影響範囲

  • ローカルでコンパイル済みHTMLヘルプをビルドしたい場合の手順が一つ減る。

関連チケット

#1192 ←これの代替案です。

参考資料

現行OS向けに.NET Framework 4.7.2をターゲットにしていたが、vs2017に標準搭載されるバージョンにダウングレードする。
@berryzplus berryzplus force-pushed the feature/downgrade_framework_version branch from 817bb2d to b6785a6 Compare February 11, 2020 09:08
@berryzplus
Copy link
Contributor Author

WinMergeが空白無視設定になっててゴミが入ったのでforce-pushしました 😢

@AppVeyorBot
Copy link

@m-tmatma
Copy link
Member

これらに文句がでていないってことは、net461ならOKってことなんだと思います。

現在のデフォルトで net461 がインストールされているだけで、
net472 の代わりに net461 をインストール要件にするということなので
.vsconfig に net461 を追加したほうがいいと思います。

.NET Framework 4.6.1 Targeting Pack はインストールしないように
設定することもできるみたいなので。

@AppVeyorBot
Copy link

@berryzplus
Copy link
Contributor Author

現在のデフォルトで net461 がインストールされているだけで、
net472 の代わりに net461 をインストール要件にするということなので
.vsconfig に net461 を追加したほうがいいと思います。

net461 がビルド要件になる認識はありません。
何故なら、サクラエディタのビルドに.NET Frameworkは必要ではないからです。

ヘルプをビルドしたい人や画像ツールを使いたい人のために、
個別の .vsconfig を用意する話なら賛成します。

必要になるコンポーネントを全部ルートに記載しておくべきだ!って理屈だとすると
Git For Windows とか Python 3 64bit とかも「含めないとダメだ」になるわけですが、
そうじゃないと思っています。(オプションは自分で用意したらいいと思います。)

.NET Framework 4.6.1 Targeting Pack はインストールしないように
設定することもできるみたいなので。

net461 を外すと visual studio の .NET 系ツールの多くが使用不可になります。
.NET Framework SDK は 1環境 100MB 近いので、不要なものは入れないのが定石だと思いますが、vs2017 で C# 開発をする人が 4.6.1 を外す選択はないような気がします

@m-tmatma
Copy link
Member

とりあえず、インストーラのビルドができればいいので この PR でもいいです。

@m-tmatma m-tmatma added this to the v2.4.0 milestone Feb 11, 2020
@berryzplus
Copy link
Contributor Author

とりあえず、インストーラのビルドができればいいので この PR でもいいです。

了解っす。

マニュアルをもう一度確認しましたが、「ソリューションのルート」に vsconfig があれば読み込まれるみたいなんで、C# ツール向けの vsconfig を用意しときたいと思っています。

https://docs.microsoft.com/ja-jp/visualstudio/install/import-export-installation-configurations?view=vs-2019#automatically-install-missing-components

@berryzplus berryzplus merged commit 49c7ea8 into sakura-editor:master Feb 11, 2020
@berryzplus berryzplus deleted the feature/downgrade_framework_version branch February 11, 2020 11:24
HoppingTappy pushed a commit to HoppingTappy/sakura that referenced this pull request Jun 16, 2020
…de_framework_version

ChmSourceConverterのターゲットバージョンを下げる
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants