指定されたバージョン文字列にワイルドカードが含まれていますが、これは決定性と相容れません。バージョン文字列からワイルドカードを削除するか、このコンパイルで決定性を無効にします
VisualStudio2017をアップデート(15.8.7)した後に、新しいプロジェクトを作って、バージョン番号のところに「1.0.0.*」と設定したら、エラーが出るわけです。
既存のプロジェクトでは「*」を使っていてもビルドエラーにならない。アップデートした後に新しく作ったプロジェクトではエラーになる。なにか変わったみたい。
「*」は自動で番号をあげてくれるので、便利で使っていたのだけど、今後は使ってはいけないの?
アップデートのバグなら、そのうち直るかもしれない。
*
2018/10/17追記
プロジェクトファイルのどこかが変わっているのだろうとWinDiffで比較してみたら、「Deterministic」という項目が追加されていた。
調べてみると、C#のコンパイラに「-deterministic」というオプションがあって、同じソースコードからは同じバイナリデータのアセンブリを出力するものらしい。
バイナリが同じだからテスト不要という感じで使うのかな。
しかし、このオプションを切り替えする画面がVisualStudioに見当たらないのだけど、どこにあるのだろう???これを使えということなのかしら?
既存のプロジェクトでは「*」を使っていてもビルドエラーにならない。アップデートした後に新しく作ったプロジェクトではエラーになる。なにか変わったみたい。
「*」は自動で番号をあげてくれるので、便利で使っていたのだけど、今後は使ってはいけないの?
アップデートのバグなら、そのうち直るかもしれない。
*
2018/10/17追記
プロジェクトファイルのどこかが変わっているのだろうとWinDiffで比較してみたら、「Deterministic」という項目が追加されていた。
調べてみると、C#のコンパイラに「-deterministic」というオプションがあって、同じソースコードからは同じバイナリデータのアセンブリを出力するものらしい。
バイナリが同じだからテスト不要という感じで使うのかな。
しかし、このオプションを切り替えする画面がVisualStudioに見当たらないのだけど、どこにあるのだろう???これを使えということなのかしら?
コメント
コメントを投稿