Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Hata ayıklayıcıya yüklenen ortak dil çalışma zamanının (CLR) yolunu ayarlar.
Sözdizimi
Parametreler
pcstrCorPath
[in] Hata ayıklayıcıya yüklenen CLR'nin yolu.
Dönüş Değeri
Başarılı olursa döndürür S_OK; aksi takdirde bir hata kodu döndürür.
Örnek
Aşağıdaki örnek, IDebugExpressionEvaluator2 arabirimini kullanıma sunan bir ExpressionEvaluatorPackage nesnesi için bu yöntemin nasıl uygulandığını gösterir.
STDMETHODIMP ExpressionEvaluatorPackage::SetCorPath(LPCOLESTR pcstrCorPath)
{
VerifyInPtr(pcstrCorPath);
HRESULT hr = E_FAIL;
VBEECompilerSingleton *pVBEECompilerSingleton = VBEECompilerSingleton::Instance();
if (pVBEECompilerSingleton)
{
pVBEECompilerSingleton->LockEECompiler();
try
{
if (!m_pCompiler->FindEECompilerHost(pcstrCorPath, &m_pCompilerHost))
{
CComObject<CVBEECompilerHost> *pEECompilerHost;
if (SUCCEEDED(CComObject<CVBEECompilerHost>::CreateInstance(&pEECompilerHost)))
{
pEECompilerHost->AddRef();
pEECompilerHost->Init(pcstrCorPath);
CComPtr<IVbCompilerHost> srpVBHost;
HRESULT hr2 = pEECompilerHost->QueryInterface(IID_IVbCompilerHost, (void **)&srpVBHost);
pEECompilerHost->Release();
if (SUCCEEDED(hr2))
{
m_pCompiler->RegisterEECompilerHost(srpVBHost);
}
}
}
else
{
hr = S_OK;
}
if (m_pCompiler->FindEECompilerHost(pcstrCorPath, &m_pCompilerHost))
{
ULONG cErrors = 0;
ULONG cWarnings = 0;
m_pCompiler->CompileToBound(m_pCompilerHost, &cErrors, &cWarnings, NULL);
// This needs to happen after bound
if (m_pCompilerHost->GetVbLibraryType() == TLB_AutoDetect)
{
m_pCompilerHost->AutoSetVbLibraryType();
}
VSASSERT(m_pCompiler && m_pCompilerHost && m_pCompilerHost->GetIntrinsicSymbol(t_i4) != NULL, "Invalid state");
if (cErrors + cWarnings > 0)
{
VSFAIL("Errors from mscorlib.dll and vb runtime!");
__leave;
}
hr = S_OK;
}
else
{
VSFAIL("FindCompilerHost shouldn't have failed!");
}
}
catch_hresult;
VSASSERT(m_pCompilerHost->GetComPlusProject()->GetCompState() >= CS_Bound, "Debugger mscorlib not in bound state");
pVBEECompilerSingleton->UnlockEECompiler();
}
return hr;
}