के साथ बाहर निकलने पर COM अपवाद निम्नलिखित परीक्षण मामलों में निष्पादन के बाद, एक COM निष्पादन कंसोल पर मुद्रित किया जाता है। मैं क्या गलत कर रहा हूं?डब्ल्यूपीएफ
यदि मैं या तो अकेले परीक्षण चलाता हूं, या यदि मैं दोनों परीक्षणों को एकसाथ चलाता हूं, तो अपवाद को एक बार कंसोल पर लिखा जाता है। इससे मुझे संदेह होता है कि प्रति-ऐपडोमेन संसाधन का कुछ प्रकार है जिसे मैं साफ नहीं कर रहा हूं।
मैंने एनएनआईटी और एमएसटीएस्ट के साथ परीक्षणों की कोशिश की है, दोनों वातावरण में एक ही व्यवहार के साथ। (वास्तव में, मैं एक भी अपवाद प्रिंटआउट या दो में MSTest परिणामों में दोनों परीक्षण चलाने यदि यकीन नहीं है।)
अपवाद:
System.Runtime.InteropServices.InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used.
at System.Windows.Input.TextServicesContext.StopTransitoryExtension()
at System.Windows.Input.TextServicesContext.Uninitialize(Boolean appDomainShutdown)
at System.Windows.Input.TextServicesContext.TextServicesContextShutDownListener.OnShutDown(Object target)
at MS.Internal.ShutDownListener.HandleShutDown(Object sender, EventArgs e)
टेस्ट कोड:
using NUnit.Framework;
namespace TaskdockSidebarTests.Client
{
[TestFixture, RequiresSTA]
public class ElementHostRCWError
{
[Test]
public void WinForms()
{
var form = new System.Windows.Forms.Form();
var elementHost = new System.Windows.Forms.Integration.ElementHost();
form.Controls.Add(elementHost);
// If the form is not shown, the exception is not printed.
form.Show();
// These lines are optional. The exception is printed with or without
form.Close();
form.Controls.Remove(elementHost);
elementHost.Dispose();
form.Dispose();
}
[Test]
public void WPF()
{
var window = new Window();
// If the window is not shown, the exception is not printed.
window.Show();
window.Close();
}
}
}
शायद http://social.msdn.microsoft.com/forums/en-US/vststest/thread/e53fdc45-23f3-4aee-aad9-f63769f2c638/ –
दुख की बात है में मदद करता है, मैं एमटीए उपयोग नहीं कर सकते, क्योंकि डब्ल्यूपीएफ को एसटीए की आवश्यकता है। SetUp में फ़ॉर्म और एलिमेंट होस्ट बनाना, या तो चाल नहीं लगता है। अरे। –
अगर मुझे गलत नहीं लगता है, तो यह अपवाद अवांछित असफल होने का कारण नहीं बनता है, है ना? मेरे डब्ल्यूपीएफ नियंत्रणों को अनदेखा करते समय मुझे एक ही अपवाद का सामना करना पड़ा है, मैंने इसे अनदेखा करना चुना है ..;) – Bubblewrap