2010-05-19 27 views
5

eksik olduğunda başlatılamadı. Makinemde harika çalışan bir .NET C# winforms uygulamasına sahibim, ancak başka bir makinede çalıştırmaya çalışırsam, başlatılmaz. Hata mesajı yok, çarpışma mesajı yok, pencere yok - hiçbir şey yok..NET uygulaması, eksik

Başvurulan bir derleme eksik olduğunda bunun her zaman olduğunu tespit ettim. Bu, .NET'in genel davranışı ve benim uygulamama özgü değil, öyle mi?

.NET veya uygulamamın, böyle durumlarda "başvurulan bir derleme eksik" hata iletisini tükürdüğü şekilde yapılandırması için herhangi bir yol var mı?

+1

Olay Görüntüleyicisi'nde Uygulama günlüğüne bakmayı denediniz mi? Genellikle programın neden çöktüğünü açıklayan bir çeşit hata mesajı var. – TLiebe

+0

Merhaba TLiebe. Cevabınız için teşekkürler. Anwer olarak yaz ve onu kabul ediyorum :-) Gerçekten de "hata raporlaması" devre dışı bırakıldığında bile hata günlüğü mesajını buldum (ki bu da şirketin çevresi tarafından belirlenir). – chiccodoro

cevap

6

Bu normal değil. Uygulama, bir Windows Hata Raporu'nu tetikleyen işlenmeyen bir istisnadan ölecektir. Hedef makinenin WER'yi devre dışı bıraktığını veya değiştirdiğini tahmin etmek zorundayım.

+0

O kadardı! Hata raporunun yalnızca uygulamanın çökmesine neden olduğunu ancak köprünün eksik olduğunu söylememesi çok kötü. Ve çok kötü, exe, “iyi adamlar gibi” standart hata çıktısına hiçbir şey yazmaz ... Ama en azından şimdi neden tamamen sessiz kaldığını biliyorum. – chiccodoro

+0

Böyle bir sihir yok. Kendiniz eklemek zorundasınız, AppDomain.CurrentDomain.UnhandledException olayı için bir olay işleyicisi uygulamalısınız. –

0

Yürütülebilir dosyadan ayrı olarak, DLL dosyalarını hata ayıklama/yayınlama klasörünüzden hedef makineye mi kopyalıyorsunuz?

Diğer makinede tüm hata ayıklama/bırakma klasörünü kopyalayarak deneyebilir misiniz? Ayrıca ek ipucu için uygulamayı (varsa)/olay günlüğünü de kontrol edin.

+0

Merhaba Ram. Bu aslında uygulamanın başarısız olmasının tam nedeni olmuştu: Bazı meclisleri kopyalamayı unuttum. Ama benim sorum şu ki uygulama eksik meclisler hakkında şikayet etmedi. – chiccodoro

+0

@chiccodoro: - .NET meclisleri ile bunun mümkün olup olmadığını düşünmüyorum. COM için DLL zaten belirtilen konumda olup olmadığını kontrol edebilirsiniz. .NET uygulaması için, eğer montaj eksikse, istisna atar (metodun bulunmadığını sanırım). Benden bir öneri, CopyLocal özelliği = her başvuru için true yapar, bu nedenle tüm bu tür derlemeler, hata ayıklama/sürüm klasörünüzün bir parçası olur. – Ram