I want to apply aspects to 3rd party assemblies using postsharp for mainly logging the errors as described in this blog http://programmersunlimited.wordpress.com/2011/07/27/applying-aspects-to-3rd-party-assemblies-using-postsharp/. This functionality is undocumented and not officially supported by postsharp. I am not sure about what kind of risks it may cause. I know the risk will depend on my assemblies. What would be the general risks I need to consider before following this approach? Thanks
By using this unsupported feature of PostSharp you risk that it can be removed in a future version or changed without backward compatibility. Another important risk is that if you run into a problem, then you won't be able to get help from the official source.
Based on these risks you need to decide whether you want your project to depend on the feature.
If your main goal is logging the calls to referenced 3rd party assemblies, then it can also be implemented using another approach. You can apply the logging attribute in your own assembly and set the property AttributeTargetAssemblies to the name of the target 3rd party assembly.
[assembly:Log(AttributeTargetAssemblies="Some.Referenced.Assembly", AttributeTargetTypes="...", ...)]
With this approach PostSharp doesn't modify the target assembly, but instead modifies the calls made from your own assembly to the target assembly.
UPDATE: Starting with PostSharp 4.3 applying aspects to existing assemblies is officially supported. You can find more about this feature in the documentation: http://doc.postsharp.net/command-line