Bug 12784 - .dll.mdb file not found when odd characters in assembly file name
Summary: .dll.mdb file not found when odd characters in assembly file name
Status: IN_PROGRESS
Alias: None
Product: Android
Classification: Xamarin
Component: MSBuild ()
Version: 4.6.x
Hardware: PC Windows
: Normal normal
Target Milestone: ---
Assignee: dean.ellis
URL:
Depends on:
Blocks:
 
Reported: 2013-06-20 05:32 UTC by Egbert Teeselink
Modified: 2013-08-15 08:50 UTC (History)
1 user (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report for Bug 12784 on Developer Community or GitHub if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: Developer Community HTML or GitHub Markdown
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:
Status:
IN_PROGRESS

Description Egbert Teeselink 2013-06-20 05:32:39 UTC
Given an Android Class Library named something like MyCompany.Common(Android), msbuild gives me the following error:

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1285,2): error MSB3375: The file "bin\Debug\MyCompany.Common(Android).dll.mdb" does not exist.

We worked around it by changing the assembly name to something like MyCompany.Common__Android in the project properties. 

As far as I know, characters like ()[] are OK for path names on all common dev platforms, but maybe we're just trying to do something we shouldn't.

(background: we're doing this when sharing code across platforms. We have a .NET class library named MyCompany.Common and an Android class library called MyCompany.Common(Android) that contains links to all files in MyCompany.Common. Effectively, the two projects are identical but simply targeted differently, which is why we decided that using non-namespacey characters would be illustrative).
Comment 1 dean.ellis 2013-08-15 08:44:35 UTC
I get a slightly different error in Visual Studio and Xamarin Studio (on Mac)

When creating a project called My.App(Android) the application builds and deploys without any problems however at runtime I get the following

[MonoDroid] Could not load type 'My.AppAndroid.MainActivity, My.App(Android), Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

I will continue to investigate
Comment 2 dean.ellis 2013-08-15 08:50:47 UTC
The work around for this is to keep the Project names as MyCompany.Common(Android) but change the Application name in the Properties to just MyCompany.Common. 

This will allow you to keep the project names separate but the resulting assembly will not have the (Android) in it.