我想在Visual Studio 2012中调试我的应用程序的各个部分。
我有C#可执行文件,可与Oracle.DataAccess dll一起使用。它工作正常。 在其中调用IronPython运行时,它也可以正常工作。 在这些IronPython模块中,调用了来自主C#应用程序的对象,它可以在Oracle dll中正常工作。
如果IronPython脚本是独立调用的,那么它工作正常并且也可以使用C#对象。
但是在这种情况下,C#对象没有看到Oracle dll。
要调试IronPython脚本,我必须创建单独的Python解决方案,以便我无法配置我的C#解决方案。所以我无法控制C#引用。 GAC有正确的Oracle dll,但如何告诉C#dll使用它?
反之亦然如果我在C#解决方案中我可以管理引用,那么我就无法添加py文件并进行调试。
我可以通过什么方式配置VS以便能够分别使用双入口C#或IronPython来运行/调试我的应用程序?
答案 0 :(得分:1)
您可以尝试复制“对我有用”的内容。创建包含以下内容的解决方案:
使用标准VS机制向C#项目添加对所需oracle库(Oracle.DataAccess.dll)的引用。 C#项目还应包含一个post build步骤,将生成的dll和pdb复制到python脚本可以找到它的位置。在我的案例python项目的根目录。
您的python项目被选为启动项目。 我用Ctrl-F5和F5来启动它。在这两种情况下,事情按预期工作。 在调试模式下,我能够在python和引用的C#模块中设置并命中断点。我可以看到正在加载的oracle库(调试器的输出窗口)。
然而: