64-bit (Windows MAPI ve Outlook x64'e bağlanır) kesinlikle çalışması gereken Outlook Redemption'u kullanarak bir uygulama için testler yazıyorum. Maalesef, hayatımın testini 64-bit'te yapmasını sağlayamam. .runsettings
dosyasını (64-bit'i belirtecek şekilde düzenlenmiş) ve bir .testsettings
dosyasını (ayrıca düzenlenmiş) kullanmayı denedim ve sonunda Test>TestSettings>Default Processor Architecture>64-bit
'u seçtim, boşuna.MSTest 64-bit'i çalıştırmayı reddediyor mu?
her zaman, System.Environment.Is64BitProcess yanlış olduğunu ve Outlook ve MAPI bağlanmak için dll yüklemek zaman korkunç COM İstisna olsun: Wrong OS or OS version for application (Exception from HRESULT: 0x800401FA (CO_E_WRONGOSFORAPP))
64 bit Outlook yüklü ve süreç erişmeye çalıştığınız olduğunu gösterir 32-bit.
Yeniden başlatma gerekli olabileceğinden bir yerde okurken ayarları değiştirdikten sonra VS 2012'yi yeniden başlattım. Başka önerisi olan var mı? Ben sadece bunu kayıt dışı testleri çalıştıran ve durumlarını bildiren bir konsol uygulaması olarak yazabilir, ancak bir sonraki adımım bu testleri otomatik yapıya entegre etmektir. Herhangi bir yardım büyük takdir edilecektir. .testsettings Host Ayarları sayfasının
Düzenleme
Ekran
İlginç
Deney, ben küçük bir deney yaptı. Tek bir konsol uygulaması projesi ile yeni bir çözüm oluşturdum. Oraya yeni dönmüş bir kamu yöntemini koydum. Konsol uygulamasını çalıştırdığımda ve yürütmeyi durdurduğumda, baktım ve aslında 64-bit çalışıyor; Orada sorun yok. Daha sonra bir test projesi ekledim, yöntemi denen tek bir test oluşturdum. Ayrıca var is64 = Environment.Is64bitProcess
ekledim ve sonra bir kesme noktası koydu.
Tahminen, herhangi bir seçeneği değiştirmeden, is64 yanlıştı. Test altındaki açılır listeden 64-bit varsayılan mimariyi seçtikten sonra çözümü temizledim ve testi tekrar çalıştırdım, aynı sonucu 32-bit çalıştırarak çalıştırdım. VS2012'yi yeniden başlattım, temizledim, oluşturdum, aynı sonuç. Test menüsünde bir test dosyası oluşturdum ve Test menüsüne başvurdum, temiz yapı, aynı, yeniden başlat, temiz, aynı inşa et. Test menüsünde bir test dosyası oluşturdum, <TargetPlatform>x64</TargetPlatform>
setini belirledim, test menüsünde bunu tekrarladım ve aynı sonuçlarla geldi. QTAgent32.exe işlemi yürütmeye devam ediyor ve kesinlikle 64 bit çalıştıran taleplerimi kabul etmeyi reddediyor.
Yemin ederim, eğer QTAgent32.exe dosyasını silmek ve QTAgent adını bu ada göre yeniden adlandırmak gerekirse, yapacağım. İnatçı olmak istediği zaman bilgisayarlarımın boğazlarını tıka basamıyorum. Beni bir iş istasyonuna karşı görmek istemezseniz, birileri bana neyin yanlış gittiğini gösterir. Bilgisayarları düşün.
Belki aptalca bir soru, ama bunların test çalıştırmanız için seçilen “Ayarlar” olduğundan emin misiniz? – Schaliasos
Yup. Test menüsünün altındaki, o dosyaya karşılık gelen yol menüsü, yanında bir onay işaretine sahiptir. – CodeWarrior
bunu 2012'de düzelttiler. 64-bitlik bir test bilgisayarı var. Diğerleri gibi corplags kullanabilirsiniz sadece en uzak 32-bit bayrak kaldırmak için ve sonra wow kayıt defteri düğümünden kopyalanması gereken bazı lisans kayıt defteri ayarı vardır ve executionhost msil için ayarlayın. Grubumda makineler oluşturmak için kayıt defteri ayarlarını ekleyemedik, testler için test meta verileri ve taslakları içeren bir proxy topluluğu oluşturan küçük bir uygulama yazdım, testler yürütüldüğünde proxy, test dll'lerini yükler ve gerçek testleri – user1985513