Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
This question was closed Nov 29, 2012 at 06:45 PM by Demigiant for the following reason:

No answer for a long time, and I moved to Visual Studio

avatar image
2
Question by Demigiant · Jan 13, 2012 at 11:10 AM · monodevelopdll

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.

Comment
Add comment · Show 3
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image ThePunisher · May 02, 2012 at 08:32 PM 1
Share

I'm adding this comment just so that people having the problem I was experiencing and the one you mention in "pdb2mdb fails if the dll contains any coroutines".

It's not the coroutines, it's the fact that to use a coroutine, you need to use an IEnumerator and that's what breaks the pdb2mdb.exe file.

The only solution I have for you is to remove all references to IEnumerable or IEnumerator. I'll update the comment if I find a fix that allows you to keep the enumerable stuff in there.

avatar image Maxii · Aug 01, 2012 at 12:40 PM 0
Share

I'm having the opposite problem - I can get pdb2mdb to generate an .mbd when I call it from the post build event, but all I get is a 'usage' error when I call it from anyplace else, including the command line.

avatar image Maxii · Aug 31, 2012 at 04:45 PM 0
Share

It turned out my problem was I needed to be calling pdb2mdb from the directory that holds my .dll and .pdb files, so I had to specify the working directory as such.

2 Replies

  • Sort: 
avatar image
1

Answer by ThePunisher · May 03, 2012 at 02:57 PM

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

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Demigiant · May 03, 2012 at 07:24 PM 0
Share

Thanks. I already moved to Visual Studio a while ago, and kind of use the same procedure shown in the video (for some reason I couldn't get the same After Build command via $$anonymous$$onoDevelop). Though the issue with pdb2mdb remains, even if I'm not using the one shipped with Unity.

avatar image
1

Answer by yoyo · Nov 29, 2012 at 06:39 PM

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.

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Demigiant · Nov 29, 2012 at 06:44 PM 0
Share

Thanks Yggy. I moved to Visual Studio a while ago and had no problem there (though I never got how to run the same post-build step in $$anonymous$$onoDevelop, but who cares now). Though the pdb2mdb issue is heavily troubling me. Will read that post you mentioned, thanks a lot for pointing at it.

avatar image yoyo · Jan 30, 2013 at 12:11 AM 0
Share

Turns out the "bleeding edge" version of pdb2mdb works with IEnumerator, as described here http://forum.unity3d.com/threads/161685-How-to-build-and-debug-external-DLLs

Follow this Question

Answers Answers and Comments

7 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Can I call a js script method inside a C# dll project? 1 Answer

How to change the target framework to Unity 3.5 .net Subset Base Class Libraries in the MonoDevelop-Unity? 1 Answer

Import C# project into my Unity solution 1 Answer

Equality and Inequality operators not found in DLL ??? 1 Answer

Unity/Mono doesn't support dll's with System.Collections.Generic.List? Using .NET 3.5 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges