0

Windowsマシン上でVisual Studio 2015を使用して、Raspberry Pie 3(Raspbian Jessieを実行中)でC#.NET 4.5 WinFormsアプリケーションをリモートデバッグしようとしています。Visual Studio 2015を使用してRaspberry Pi 3でC#.NET 4.5 WinFormsアプリケーションをリモートでデバッグするにはどうすればよいですか?

私が理解しているように、これにはMonoRemoteDebuggerを使用できます。私はVisual Studio拡張をインストールし、Piでサーバープログラムを実行しましたが、アプリケーションをデバッグしようとすると、MonoRemoteDebugger.Server.exeプログラムはpdb2mdb.exeプログラムからのエラーを表示します。ここでエラーです:私はパイの「myprogram.exeというpdb2mdb」コマンドを実行しようとしました

Fatal error: Microsoft.Cci.Pdb.PdbDebugException: Unknown custom metadata item kind: 6 at Microsoft.Cci.Pdb.PdbFunction.ReadCustomMetadata (Microsoft.Cci.Pdb.BitAccess bits) [0x00000] in :0
at Microsoft.Cci.Pdb.PdbFunction..ctor (System.String module, ManProcSym proc, Microsoft.Cci.Pdb.BitAccess bits) [0x00000] in :0 at Microsoft.Cci.Pdb.PdbFunction.LoadManagedFunctions (System.String module, Microsoft.Cci.Pdb.BitAccess bits, UInt32 limit, Boolean readStrings) [0x00000] in :0 at Microsoft.Cci.Pdb.PdbFile.LoadFuncsFromDbiModule (Microsoft.Cci.Pdb.BitAccess bits, Microsoft.Cci.Pdb.DbiModuleInfo info, Microsoft.Cci.Pdb.IntHashTable names, System.Collections.ArrayList funcList, Boolean readStrings, Microsoft.Cci.Pdb.MsfDirectory dir, System.Collections.Generic.Dictionary`2 nameIndex, Microsoft.Cci.Pdb.PdbReader reader) [0x00000] in :0 at Microsoft.Cci.Pdb.PdbFile.LoadFunctions (System.IO.Stream read, Microsoft.Cci.Pdb.BitAccess bits, Boolean readAllStrings) [0x00000] in :0 at Microsoft.Cci.Pdb.PdbFile.LoadFunctions (System.IO.Stream read, Boolean readAllStrings) [0x00000] in :0 at Pdb2Mdb.Driver.Convert (Mono.Cecil.AssemblyDefinition assembly, System.IO.Stream pdb, Mono.CompilerServices.SymbolWriter.MonoSymbolWriter mdb) [0x00000] in :0

、問題がpdb2mdb.exeプログラムであることが表示されますので、それは同じエラーを生成します。これはMono.Cecilのバグで、バージョン0.9.6ではwas fixedでしたが、Raspian Jessieの最新バージョンが0.9.5であるようです。

私はちょうどthe one from hereでpdb2mdb.exeを交換しようとしたとエラーが、その後に変更されます。

Unhandled Exception: System.TypeLoadException: Could not load type 'Mono.Cecil.AssemblyDefinition' from assembly 'pdb2mdb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'Mono.Cecil.AssemblyDefinition' from assembly 'pdb2mdb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

はパイの新しいMono.Cecilバージョンを取得しようとするソリューションですか?もしそうなら、どのようにすればpdb2mdb.exeが新しいバージョンを参照するようにするのでしょうか?

答えて

1

問題を解決しました。

最初の問題はpdb2mdb.exeで発生しました。

Unable to start program 'C:\Test1\Test1.exe'.

The located assembly's manifest definition does not match the assembly reference.

:、MonoRemoteDebuggerは、Visual Studioで次のエラーが表示されました。その後

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF 
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list 
sudo apt-get update 
sudo apt-get install mono-complete mono-devel 

:mono-project.comから喘鳴パッケージソースは、これらのコマンドを使用して、最新のモノパッケージを取得するために使用されなければなりませんでした

これを回避するために、MonoRemoteDebugger 1.0.5 Visual Studio拡張を削除し、この問題が発生していないversion 1.0.4をインストールしました。

関連する問題