Running pdb2mdb.exe as a MonoDevelop

Hello,

I feel quite dumb, but I can’t find a way to run pdb2mbd.exe as an “After Build” Custom Command from MonoDevelop.

I want MonoDevelop to create an mdb file for my dll (that already outputs a pdb), as soon as it ends compilation, but I don’t know what to write in the “Command” and “Working Directory” fields of the Custom Command panel for my project.

Any help would be immensely appreciated.

EDIT

Moved to Visual Studio where I solved this issue, but in the meantime I discovered that pdb2mdb fails if the dll contains any coroutine. Sigh.

You can check this link out. I think it will help you get started.

http://forum.unity3d.com/threads/120327-Video-Tutorial-How-to-use-Visual-Studio-for-all-your-Unity-development

Here’s how I integrated pdb2mdb into my Visual Studio build process. I made these changes by hand-editing the .csproj file.

First, I create a property (in the first PropertyGroup) for the location of the Unity installation:

<UnityInstallFolder>$([System.IO.Path]::GetDirectoryName($(registry:HKEY_CURRENT_USER\Software\Unity Technologies\Unity Editor 3.x\Location)))</UnityInstallFolder>

Then I added a post-build step to call pdb2mdb on my output DLL:

<PostBuildEvent>$(UnityInstallFolder)\Data\Mono\lib\mono\2.0\pdb2mdb.exe $(TargetPath)</PostBuildEvent>

Unfortunately I don’t have a solution to the IEnumerator problem. This post mentions implementing a new version of pdb2mdb based on the Mono.Cecil library.