我有一个我正在处理的特定项目 - 另一个应用程序的插件 - 我无法在特定方法中跟踪变量值。
我正在使用Visual Studio 2015社区版。我试图通过断点试图找到如何跟踪这些变量的方向,并且我没有任何运气。
[Plugin]
public class MIRequestPlugin
{
public static QuoteRequestClient client;
public MIRequestPlugin()
{
if (EncompassApplication.CurrentUser.ID == /*My username*/)
{
EncompassApplication.LoanOpened += new EventHandler(AttachToFieldChange);
}
}
private void MIPull(object sender, FieldChangeEventArgs e)
{
if (e.FieldID == "CX.MIREQUEST.TRIGGER" && e.NewValue == "Y")
{
gatherRateInfo();
}
}
private void AttachToFieldChange(object sender, EventArgs e)
{
EncompassApplication.CurrentLoan.FieldChange += new FieldChangeEventHandler(MIPull);
}
private void gatherRateInfo()
{
List<string> borrEntFirst = new List<string>();
List<string> borrEntLast = new List<string>();
string isPud = "";
if (Convert.ToString(EncompassApplication.CurrentLoan.Fields["4006"].Value) != "" && EncompassApplication.CurrentLoan.Fields["4006"].Value != null)
{
borrEntFirst = new List<string> { "4000", "4004" };
borrEntLast = new List<string> { "4002", "4006" };
}
[...]
其余的代码确实不重要。在gatherRateInfo方法中,我需要能够跟踪borrEntFirst和borrEntLast中保存的值。当调试器在
处遇到断点时string isPud =&#34;&#34 ;;
“本地”窗口中未显示任何内容。此外,我不能在代码中的任何实体上使用鼠标悬停。我已经在该方法的六个线路上放置了断点,但仍然没有本地人。要进一步使我的情况复杂化,我可以看到本地人并获得鼠标悬停信息,如果我在构造函数中断。
我附加到与插件所在应用程序名称相同的唯一进程,并且符号加载正常。
我已经尝试过修复我的VS等高级修复程序,我甚至非常绝望地重新安装VS2015。我已将符号服务器更改为http://msdl.microsoft.com/download/symbols。我创建了一个新的解决方案,并添加了现有的项目。我已检查过托管兼容性(VS2015中似乎不存在)。我已经在SE和微软的网站上尝试过关于此问题的其他实例的一切建议。在调试这个项目时,我还可以尝试在这个方法中跟踪我的本地人?
编辑:我能够手动将监视添加到相关变量中。事实证明,对于两个List变量,我给出了以下错误:
错误CS0012:类型&#39; RestClient&#39;在未引用的程序集中定义。您必须添加对程序集的引用&#39; RestSharp,Version = 105.2.3.0,Culture = neutral,PublicKeyToken = null&#39;。
这有两个原因令人困惑。一个是我确实在我的项目中引用了RestSharp版本105.2.3.0程序集。第二个是List变量的创建应该与RestSharp程序集无关。此外,该项目编译没有问题。真的卡在这里,任何帮助将不胜感激。
答案 0 :(得分:0)
经过几天和几天试图解决这个问题,答案比我做的要简单得多。我的代码插入的软件 - Encompass - 需要将RestSharp dll作为自己的插件加载。
万一其他人遇到类似的问题,为Encompass创建插件,这就是你解决这个问题的方法。