diff --git a/HeaderMake/HeaderMake.vcxproj b/HeaderMake/HeaderMake.vcxproj
index b2e84bd5f8..3fe2440a65 100644
--- a/HeaderMake/HeaderMake.vcxproj
+++ b/HeaderMake/HeaderMake.vcxproj
@@ -16,15 +16,14 @@
Win32Proj
+
Application
- v141
Unicode
true
Application
- v141
Unicode
diff --git a/MakefileMake/MakefileMake.vcxproj b/MakefileMake/MakefileMake.vcxproj
index 1c46528825..5cd854118e 100644
--- a/MakefileMake/MakefileMake.vcxproj
+++ b/MakefileMake/MakefileMake.vcxproj
@@ -16,15 +16,14 @@
Win32Proj
+
Application
- v141
Unicode
true
Application
- v141
Unicode
diff --git a/README.md b/README.md
index 6a392a827d..2897510c75 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,7 @@
- [Build Requirements](#build-requirements)
- [Visual Studio Community 2017](#visual-studio-community-2017)
- [Visual Studio Install options required](#visual-studio-install-options-required)
+ - [Visual Studio Community 2019 に関しては対応を検討中です。](#visual-studio-community-2019-に関しては対応を検討中です)
- [How to build](#how-to-build)
- [詳細情報](#詳細情報)
- [PR(Pull Request) を簡単にローカルに取得する方法](#prpull-request-を簡単にローカルに取得する方法)
@@ -50,7 +51,10 @@ https://github.com/sakura-editor/sakura/wiki
## Build Requirements
### Visual Studio Community 2017
-- [Visual Studio Community 2017](https://www.visualstudio.com/downloads/)
+
+現状では Visual Studio Community 2017 を使用しています。
+
+- [Visual Studio Community 2017](https://visualstudio.microsoft.com/vs/older-downloads/)
#### Visual Studio Install options required
- Windows SDK
@@ -60,6 +64,13 @@ https://github.com/sakura-editor/sakura/wiki
More information: https://github.com/sakura-editor/sakura/issues/6
+### Visual Studio Community 2019 に関しては対応を検討中です。
+
+- [Visual Studio Community 2019](https://www.visualstudio.com/downloads/)
+
+Visual Studio 2017/2019 の両対応に関しては #866 で対処済みです。
+[仕組みに関してはこちらを参照](vcx-props/project-PlatformToolset.md)
+
## How to build
- [7Zip](https://sevenzip.osdn.jp/) のインストールして 7z.exe へのパスを通します。
diff --git a/sakura/sakura.vcxproj b/sakura/sakura.vcxproj
index ab3fea0608..ed742cc244 100644
--- a/sakura/sakura.vcxproj
+++ b/sakura/sakura.vcxproj
@@ -23,28 +23,25 @@
{AF03508C-515E-4A0E-87BE-67ED1E254BD0}
+
Application
- v141
false
Unicode
Application
- v141
false
Unicode
Application
- v141
false
Unicode
true
Application
- v141
false
Unicode
true
diff --git a/sakura_lang_en_US/sakura_lang_en_US.vcxproj b/sakura_lang_en_US/sakura_lang_en_US.vcxproj
index 547736d1ce..1f4e9f2a4d 100644
--- a/sakura_lang_en_US/sakura_lang_en_US.vcxproj
+++ b/sakura_lang_en_US/sakura_lang_en_US.vcxproj
@@ -23,27 +23,24 @@
sakura_lang_en_US
+
DynamicLibrary
- v141
false
Unicode
DynamicLibrary
- v141
false
Unicode
DynamicLibrary
- v141
false
Unicode
DynamicLibrary
- v141
false
Unicode
diff --git a/vcx-props/project-PlatformToolset.md b/vcx-props/project-PlatformToolset.md
new file mode 100644
index 0000000000..9bae82f042
--- /dev/null
+++ b/vcx-props/project-PlatformToolset.md
@@ -0,0 +1,51 @@
+# Visual Studio の 各バージョンの PlatformToolset に関して
+
+
+
+- [Visual Studio の 各バージョンの PlatformToolset に関して](#visual-studio-の-各バージョンの-platformtoolset-に関して)
+ - [PlatformToolset の対応関係](#platformtoolset-の対応関係)
+ - [異なる Visual Studio のバージョンで開いたときの動作](#異なる-visual-studio-のバージョンで開いたときの動作)
+ - [解決策](#解決策)
+ - [参考情報](#参考情報)
+ - [コマンドラインで PlatformToolset の設定を上書きする方法](#コマンドラインで-platformtoolset-の設定を上書きする方法)
+ - [PlatformToolset の指定に関する参考リンク](#platformtoolset-の指定に関する参考リンク)
+
+
+
+## PlatformToolset の対応関係
+
+Visual Studio の各バージョンごとにデフォルトの PlatformToolset (コンパイルエンジンのバージョン)があります。
+
+|Visual Studio のバージョン|PlatformToolset|
+|--|--|
+|Visual Studio 2017|v141|
+|Visaul Studio 2019|v142|
+
+## 異なる Visual Studio のバージョンで開いたときの動作
+
+Visual Studio 2017 で作成したソリューション/プロジェクトを Visual Studio 2019 で開くと Visaul Studio 2019 の標準の v142 に変換するか
+確認するダイアログが出ます。一度ソリューションを開くとユーザーの選択がローカルに保存されるので同じソリューションを再度開いても再度確認される
+ことはありません。
+
+しかしながら別のフォルダにソースコードを clone した場合などには再度ユーザーに確認するダイアログが出るので煩雑です。
+
+## 解決策
+
+1. `PlatformToolset` の設定を[外部のファイル](vcxcompat.props) にまとめます
+2. そのファイルでは、 `Condition` の指定で開かれた Visaul Studio のバージョンによって、 `デフォルトで 使用する PlatformToolset` を指定します。
+3. 各プロジェクトファイルで上記ファイルを [Import Project](https://docs.microsoft.com/ja-jp/visualstudio/msbuild/import-element-msbuild?view=vs-2019) でインクルードします。
+
+### 参考情報
+
+https://qiita.com/yumetodo/items/a8324efaf83c9c08d168
+
+
+## コマンドラインで PlatformToolset の設定を上書きする方法
+
+上記方法によって、デフォルトで使用する `PlatformToolset` を変更しますが、
+`/p:PlatformToolset=v141` あるいは `/p:PlatformToolset=v142` のようなパラメータを `msbuild.exe` の引数に
+追加してやれば、デフォルトの設定を上書きして好きな `PlatformToolset` でコンパイルすることができます。
+
+### PlatformToolset の指定に関する参考リンク
+
+https://docs.microsoft.com/en-us/cpp/build/reference/msbuild-visual-cpp-overview?view=vs-2019#platformtoolset-property
diff --git a/vcx-props/vcxcompat.props b/vcx-props/vcxcompat.props
new file mode 100644
index 0000000000..a1324f5c26
--- /dev/null
+++ b/vcx-props/vcxcompat.props
@@ -0,0 +1,9 @@
+
+
+
+ v141
+
+
+ v142
+
+