Bug 54673 - _ConvertDebuggingFiles creates a ".mdb" file next to the csproj
Summary: _ConvertDebuggingFiles creates a ".mdb" file next to the csproj
Alias: None
Product: Tools
Classification: Mono
Component: msbuild ()
Version: 4.8.0 (C9)
Hardware: PC Windows
: --- normal
Target Milestone: 15.3
Assignee: Ankit Jain
Depends on:
Reported: 2017-04-06 21:09 UTC by Jerome Laban
Modified: 2017-06-20 16:23 UTC (History)
4 users (show)

Tags: 15.1I
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 on GitHub or Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Jerome Laban 2017-04-06 21:09:11 UTC
Using Xamarin.iOS, the _ConvertDebuggingFiles task creates a file named ".pdb" next to the csproj file.

This is caused by _ConvertDebuggingFiles where: 

    <Copy SourceFiles="@(_ReferencedDlls -> '%(FullPath).mdb')" DestinationFiles="@(_ReferencedDlls -> '%(FinalOutputPath).mdb')" Condition="Exists('%(FullPath).mdb')" />

creates that file, which is particularly visible when using cross-targeted projects, that auto-include files in the project directory.

A possible workaround is to replace the mentioned line to:

    <Copy SourceFiles="@(_ReferencedDlls -> '%(FullPath).mdb')" DestinationFiles="@(_ReferencedDlls -> '%(FullPath).mdb')" Condition="Exists('%(FullPath).mdb')" />
Comment 1 Ankit Jain 2017-04-13 19:14:43 UTC
That `Copy` task is not being used in the `_ConvertDebuggingFiles` in Xamarin.Android . And it is not present in Xamarin.iOS.

- Are you building this with xbuild or msbuild?
- Command line or IDE?

- Could you please share more details of the project that you are building and include a full diagnostic build log?
  - If you are building from the command line, then add `/fl /flp:v=diag` and attach the generated msbuild.log
  - If you are building from Xamarin Studio/VSMac, then enable diag logging from `Preferences -> Projects -> Build -> Log verbosity`
Comment 2 Ankit Jain 2017-04-13 19:15:56 UTC
This is the current `_ConvertDebuggingFiles` and I couldn't find the line that you mentioned in the commit history either. https://github.com/xamarin/xamarin-android/blob/master/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets#L2339-L2345
Comment 3 Marek Safar 2017-06-20 16:23:55 UTC
No response