我有一個特定的項目,我正在處理 - 另一個應用程序的插件 - 我無法跟蹤特定方法中的變量值。當地人窗口不顯示任何東西;只發生在Visual Studio 2015中的特定方法
我正在使用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 = "";
Locals窗口中不顯示任何內容。此外,我不能在代碼中的任何實體上使用鼠標懸停。我已經在該方法中進一步放置了六個斷點,並且仍然沒有本地人。要進一步使我的情況複雜化,我可以看到本地人,並獲得鼠標懸停信息,如果我在構造函數中斷。
我附加到與插件所在的應用程序同名的唯一進程,並且符號加載得很好。
我試過修復我的VS等高級修復程序,我甚至爲了重新安裝VS2015而感到絕望。我已將我的符號服務器更改爲http://msdl.microsoft.com/download/symbols。我創建了一個新的解決方案並添加了現有的項目。我已經檢查了託管兼容性(似乎不存在於VS2015中)。我已經在SE和微軟的網站上嘗試過所有關於此問題的其他實例的建議。我還有什麼可以試着去調試這個項目的時候用這種方法跟蹤我的本地人?
編輯:我能夠手動添加手錶到問題的變量。事實證明,對於兩個List變量,我得到以下錯誤:
error CS0012: The type 'RestClient' is defined in an assembly that is not referenced. You must add a reference to assembly 'RestSharp, Version=105.2.3.0, Culture=neutral, PublicKeyToken=null'.
這有兩個原因令人困惑。一個是我確實在我的項目中引用了RestSharp Version 105.2.3.0程序集。第二個是創建List變量應該與RestSharp程序集無關。此外,該項目編譯沒有問題。真的卡在這裏,任何幫助將不勝感激。
本地窗口是否顯示其他項目類型的值(例如控制檯應用程序),還是僅僅是您的項目類型的問題? –
它不僅會顯示其他項目類型的值,還會顯示同一項目的其他方法中的本地人。這只是我調試的方法,它不會顯示它們。 – Inagnikai