Сообщения об исключениях различаются в разных системах - PullRequest
0 голосов
/ 16 мая 2018

Я наткнулся на какое-то странное поведение с сообщениями об исключениях PostSharp.

У нас есть модульный тест, который проверяет ArgumentNullException, когда вызывается метод с атрибутом Required.ReSharper работает как положено и выдает желаемое исключение.

Однако мы также проверяем текст сообщения о сгенерированном исключении.На моем компьютере я получаю следующее:

The parameter 'expression' is required.{Environment.NewLine}Parametername: expression

В то время как в нашем агенте сборки TFS сообщение выглядит так:

 The parameter 'expression' is required.{Environment.NewLine}Parameter name: expression

Обратите внимание, что между «Параметром» и «есть пробел»name ".

Это абсолютно одинаковый тест на обеих машинах.Оба загружают одинаковые сборки с одинаковыми номерами версий.Я также использовал свою локально собранную сборку в обеих системах и снова получал разные сообщения об исключениях.

1 Ответ

0 голосов
/ 18 мая 2018

Часть сообщения об исключении после {Environment.NewLine} добавляется кодом .NET Framework.См. Пример кода: ArgumentException.cs

Строка взята из ресурса, и я считаю, что это зависит от текущей культуры и версии .NET Framework.Таким образом, вам необходимо проверить настройки культуры на компьютерах (например, en-US против en-UK) и точные версии установленного .NET Framework.

...