在某些情况下,当我尝试在C#项目的设置中的“调试”选项卡上设置“启动外部程序”并按F5时,我看到错误“调试器的协议与被调试程序不兼容”。在什么情况下会发生这种情况?如果dll的代码在vs2008项目中,应用程序代码在vs2010项目中,我可以通过“启动外部程序”选项调试运行应用程序的库吗?
wgx48brx1#
Managed调试工具界面在.NET 4版中已变更。您无法使用VS2008调试工具两柴.NET 4程式。请改用VS2010调试器。否则,在针对早期.NET版本生成的DLL中设置断点就不是问题了。
mu0hgdu02#
从csproj中删除<PublishSingleFile>true</PublishSingleFile>为我解决了这个问题。https://developercommunity.visualstudio.com/t/unable-to-attach-to-coreclr-when-debugging-a-publi/1523427
<PublishSingleFile>true</PublishSingleFile>
r1zhe5dt3#
如果您正在VS2008中调试C++ DLL,您可以在尝试调试的项目属性对话框的调试首选项中设置Debugger Type =“Native Only”(当然,如果您尝试调试由可执行文件加载的本机库)
carvr3hs4#
删除所有 .user、.exe.config文件,搜索包含“supportedRuntime version=“v4.0”的文件并将其删除。
4条答案
按热度按时间wgx48brx1#
Managed调试工具界面在.NET 4版中已变更。您无法使用VS2008调试工具两柴.NET 4程式。
请改用VS2010调试器。否则,在针对早期.NET版本生成的DLL中设置断点就不是问题了。
mu0hgdu02#
从csproj中删除
<PublishSingleFile>true</PublishSingleFile>
为我解决了这个问题。https://developercommunity.visualstudio.com/t/unable-to-attach-to-coreclr-when-debugging-a-publi/1523427
r1zhe5dt3#
如果您正在VS2008中调试C++ DLL,您可以在尝试调试的项目属性对话框的调试首选项中设置Debugger Type =“Native Only”(当然,如果您尝试调试由可执行文件加载的本机库)
carvr3hs4#
删除所有 .user、.exe.config文件,搜索包含“supportedRuntime version=“v4.0”的文件并将其删除。