ここで説明する問題が発生しています: field-not-found-exception-with-net-4-4-5-compiled-regexes
つまり、.Net 4.5 に更新されたマシンで .Net 4.0 アセンブリを構築しようとしました。だから私は.Net 4.0をターゲットにしています。.Net 4.0 のみがインストールされているマシンでこのアセンブリを実行しようとすると、次の例外が発生します: フィールドが見つかりません: 'System.Text.RegularExpressions.Regex.internalMatchTimeout'.
.Net 4.5 に更新されていないマシンで同じアセンブリをビルドすると、生成されたアセンブリを .Net 4.0 マシンで問題なく実行できます。つまり、.Net 4.5 マシンで生成された .Net 4.0 アセンブリは、.Net 4.0 マシンで生成されたものと同じではありません。
アセンブリは、プリコンパイルされた正規表現を提供します。
次のいずれかでこれを解決できます。
- .Net 4.0 システムでのアセンブリのビルド。
- ターゲット マシンを .Net 4.5 にアップグレードします。
ただし、両方のソリューションには問題があります。
- WinRT を含むさまざまなターゲットのアセンブリをビルドします。現在、単一のマシンを使用してすべてをビルドできないという問題に直面しており、ビルド/テスト プロセスが複雑になっています。
- 生産されたアセンブリは、顧客に出荷されます。4.0 アセンブリを使用するために .Net 4.5 にアップグレードするように伝えても、全員が満足するわけではありません。
プリコンパイルされた正規表現を取り除く以外に、より良い解決策を知っている人はいますか?