I've stumbled across some weird behavior with PostSharp's exception messages.
We have a unit test that checks for an ArgumentNullException, when a method that has the Required attribute is called. ReSharper works as expected and throws the desired exception.
However, we also check for the message text of the exception thrown. On my computer I get the following:
The parameter 'expression' is required.{Environment.NewLine}Parametername: expression
Whereas on our TFS build agent the message looks like this:
The parameter 'expression' is required.{Environment.NewLine}Parameter name: expression
Note that there is a space between "Parameter" and "name".
This is exactly the same test on both machines. Both load the same assemblies with the same version numbers. I've also used my locally built assembly on both systems and had once again different exception messages.
The part of the exception message after {Environment.NewLine} is appended by the .NET Framework code. See the reference code for example: ArgumentException.cs
The string is taken from the resource and I believe it depends on the current culture and .NET Framework version. So you would need to check the culture setting on the machines (e.g. en-US vs en-UK) and the exact versions of the installed .NET Framework.