我在VSM15中创建了一个非常简单的Xamarin.forms项目,遵循Xamarin快速入门。我想在模拟器上进行部署和调试。虽然可以启动eumulator并成功部署应用程序,但我看不到我的应用程序在模拟器中显示,并且没有任何断点被击中。我试图使用adb从命令ling连接模拟器。它说已经连接了。
1>Starting deploy VS Emulator 5.7" Marshmallow (6.0.0) XHDPI Phone ...
1>Deploying VS Emulator 5.7" Marshmallow (6.0.0) XHDPI Phone ...
1>Build started.
1>Touching "obj\Debug\android_debug_keystore.flag".
1>Skipping target "_Sign" because all output files are up-to-date with respect to the input files.
1>Detecting installed packages...
1>Getting installation path...
1>Using fast dev path: /storage/emulated/0/Android/data/PhoneWorld.PhoneWorld/files/.__override__
1>Synchronizing assemblies...
1>Done building project "PhoneWorld.Droid.csproj".
1>Build succeeded.
1>Deploy successfully on VS Emulator 5.7" Marshmallow (6.0.0) XHDPI Phone
========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========
答案 0 :(得分:0)
根据Xamarin论坛上的this comment,这个问题可能是因为在项目的物理文件夹路径中有空格 - 但项目名称中的空格是可以的。显然,物理文件夹路径中的空格会导致MDB文件无法正确复制,这是调试所必需的。
如果这不是您的问题,earlier comment提供了一个修复程序,可以更好地指示Visual Studio将所有MDB文件复制到输出目录,以便通过修改其MSBuild进行调试:
<Copy SourceFiles="@(_Assemblies -> '%(FullPath).mdb')"
SkipUnchangedFiles="true"
DestinationFolder="$(OutDir)"
Condition="'%(_Assemblies.ResolvedFrom)' != '{TargetFrameworkDirectory}' And '%(_Assemblies.ResolvedFrom)' != 'ImplicitlyExpandDesignTimeFacades' And '%(_Assemblies.FrameworkFile)' != 'true' And Exists('%(_Assemblies.FullPath).mdb')" />