无法在 Visual Studio 2013 中调试 C# RTD 服务器项目
Cannot debug C# RTD Server project in Visual Studio 2013
作为尝试找出在我的机器上使用(以前)工作的 .NET COM 项目和 Excel 2013 的各种问题的一部分,我创建了一个简单的测试 C# RTDServer class Visual Studio 2013。创建测试 RTD 服务器项目帮助我意识到我的 Excel 2013 是 64 位版本,我需要将目标平台设置为 x64 以便任何 .NET COM 组件使用此版本共 Excel.
这个测试 RTD 组件工作正常(只要它被编译为 x64),但我无法使用 Visual Studio 调试到代码中。例如,过去在旧项目上工作的是将启动应用程序设置为 Excel.exe,然后我总是可以在 ServerStart(IRTDUpdateEvent CallbackObject)
方法中打断点。
然而,当我在 VS 2013 项目中尝试此操作时,它从未达到断点。如果我在 运行 时设置新的断点,我会看到消息:
The breakpoint will not currently be hit. No symbols have been loaded
for this document.
我已经搜索了很多解决方案,但还没有找到任何有效的方法。
原来这个问题是由 Excel 的应用程序配置引起的,我们在 运行 Excel 2003 年(当我们第一次开发这个应用程序时)必须使用它。
配置包含以下内容:
<startup>
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v1.1.4322"/>
<requiredRuntime version="v2.0.50727"/>
</startup>
但是,此 RTD 服务器使用的是 .NET 4.5。从 Office 目录中删除配置文件后,它开始在调试器中工作。
作为尝试找出在我的机器上使用(以前)工作的 .NET COM 项目和 Excel 2013 的各种问题的一部分,我创建了一个简单的测试 C# RTDServer class Visual Studio 2013。创建测试 RTD 服务器项目帮助我意识到我的 Excel 2013 是 64 位版本,我需要将目标平台设置为 x64 以便任何 .NET COM 组件使用此版本共 Excel.
这个测试 RTD 组件工作正常(只要它被编译为 x64),但我无法使用 Visual Studio 调试到代码中。例如,过去在旧项目上工作的是将启动应用程序设置为 Excel.exe,然后我总是可以在 ServerStart(IRTDUpdateEvent CallbackObject)
方法中打断点。
然而,当我在 VS 2013 项目中尝试此操作时,它从未达到断点。如果我在 运行 时设置新的断点,我会看到消息:
The breakpoint will not currently be hit. No symbols have been loaded for this document.
我已经搜索了很多解决方案,但还没有找到任何有效的方法。
原来这个问题是由 Excel 的应用程序配置引起的,我们在 运行 Excel 2003 年(当我们第一次开发这个应用程序时)必须使用它。
配置包含以下内容:
<startup>
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v1.1.4322"/>
<requiredRuntime version="v2.0.50727"/>
</startup>
但是,此 RTD 服务器使用的是 .NET 4.5。从 Office 目录中删除配置文件后,它开始在调试器中工作。