Office çözümlerinde hatalarında sorun giderme
Visual Studio'da Office çözümleri geliştirmek için çalışırken, aşağıdaki görevleri gerçekleştirirken sorunlarla karşılaşabilirsiniz:
Oluşturma, yükseltme ve projeler
Tasarımcıları kullanarak
Kod yazma
Proje oluşturma
Projelerinde hata ayıklama
Oluşturma, yükseltme ve projeler
Office projeleri oluşturduğunuzda veya açtığınızda, aşağıdaki hatalarla karşılaşabilirsiniz.
Proje oluşturulamaz
Office projesi oluşturma veya açma denedi, ancak Visual Studio nedenini belirlemek için yeterli bilgiye sahip olmaması bir hata oluştu.Eğer projeniz Visual Studio çıkma ve yeniden başlatmayı kapatmayı deneyin.
Bir belge düzeyi projesi oluşturmaya çalışıyorsanız, belge içinde yeni bir proje olarak aynı ada sahip başka bir belge zaten Excel veya Word'de açık olduğunu mümkündür.Excel veya Word'ün tüm diğer örnekleri kapalı olduğundan emin olun.
Kayıp, varolan projedekide belgeye bağlı yeni bir proje oluşturduğunuzda denetim özellikleri
Varolan projedekide belgeye bağlı olan yeni bir proje oluşturduğunuzda, belge üzerindeki herhangi bir denetimin özellikleri yeni projeye kopyalanmaz.Önceden varolan denetimler için olan özellikleri el ile sıfırlamalısınız.Alternatif olarak, yeni proje yaratmak yerine varolan projenin kopyasını oluşturarak veya varolan projeyi yeni çözüme (tasarımcıda) yükleyerek ve denetimleri varolan belgeden yeni belgeye kopyalayıp yapıştırarak, denetim özelliklerini koruyabilirsiniz.
Varolan bir çalışma kitabına bağlı bir Excel çalışma kitabı projesi oluşturduğunuzda hatalar
Varolan bir çalışma kitabını temel alan yeni bir Excel çalışma kitabı projesi oluşturursanız, aşağıdaki hatalardan birini birlikte görebilirsiniz.
Excel'den: "Gizlilik uyarısı: Bu belge makrolar, ActiveX denetimleri, xml genişletme paketi bilgileri veya Web bileşenleri içeriyor.Bunlar, belge denetçisi tarafından kaldırılamayan kişisel bilgiler içerebilir."
Visual Studio'dan: "Doğru şekilde yükleyemedi Tasarımcısı."
Bu hatalar, Belge Denetçisi'ni kullanarak kendi kişisel bilgileri olan bir çalışma kitabını temel alan bir proje oluşturmaya çalıştığınızda ortaya çıkabilir.Bu hatanın oluşmaması için projeyi oluşturmadan önce aşağıdaki adımları gerçekleştirin.
Excel'de çalışma kitabını açın.
Excel'de Güven Merkezi'ni açın.
Üzerinde Gizlilik seçenekleri Temizle sekmesi kaydederken dosya özelliklerinden kişisel bilgileri Kaldır onay kutusu.
Çalışma kitabını kaydedin ve Excel'i kapatın.
Geçiş İşleminden Sonra Proje Açılmaz
Office çözümü Microsoft Office 2010'a geçirildikten sonra, proje geliştirme bilgisayarında sadece 2007 Microsoft Office sistemi yüklüyse açılamaz.Aşağıdaki hatalar görebilirsiniz.
"Çözümdeki bir veya daha fazla proje doğru şekilde yüklenmedi.Ayrıntılar için lütfen Çıkış Penceresi'ne bakın."
"Bu proje türü ile ilişkilendirilmiş uygulamayı bu bilgisayarda yüklü olmadığından proje oluşturamazsınız.Bu proje türüyle ilgili Microsoft Office uygulamasını yüklemelisiniz."
Bu soruna geçici bir çözüm bulmak için, .vbproj veya .csproj dosyasını düzenleyin.Word projesi için, HostPackage="{763FDC83-64E5-4651-AC9B-28C4FEB985A1}"'ı HostPackage="{6CE98B71-D55A-4305-87A8-0D6E368D9600}" ile değiştirin.Excel projesi için, HostPackage="{B284B16A-C42C-4438-BDCD-B72F4AC43CFB}"'ı HostPackage="{825100CF-0BA7-47EA-A084-DCF3308DAF74}" ile değiştirin.Outlook projesi için, HostPackage="{D2B20FF5-A6E5-47E1-90E8-463C6860CB05}"'ı HostPackage="{20A848B8-E01F-4801-962E-25DB0FF57389}" ile değiştirin.
Alternetif olarak, geçirilen projelerin sadece Microsoft Office 2010 yüklü olan geliştirme bilgisayarlarında açıldığına emin olun.
Windows Forms denetimleri içeren yükseltilmiş Office 2003 belge düzeyi projelerindeki hataları
Bir Microsoft Office 2003 belge düzeyi projesini yükseltmek ve belgede Windows Forms denetimleri, yükseltilen proje sahip derleme veya çalıştırma zamanı hataları.Proje yükseltmeden önce bu sorunu önlemek için Visual Studio 2005 Araçları Office Second Edition Runtime geliştirme bilgisayarına yükleyin.Bu çalışma zamanının sürümü adresindeki Microsoft Download Center bir yeniden dağıtılabilir paket olarak kullanılabilir Microsoft Visual Studio 2005 Araçları Office Second Edition Runtime (vsto 2005 se) (x 86) için.
Proje yükseltme işlemini tamamladıktan sonra diğer Office çözümleri tarafından kullanılmadığından, Visual Studio 2005 Araçları Office Second Edition Runtime geliştirme bilgisayarınızdan kaldırabilirsiniz.
Tasarımcıları kullanarak
Belge, çalışma kitabı veya çalışma sayfası tasarımcıda belge düzeyi projeleri ile çalışırken, aşağıdaki hatalarla karşılaşabilirsiniz.
Tasarımcı doğru şekilde yüklenemedi
Visual Studio Tasarımcısı aşağıdaki durumlarda açamaz:
Excel veya Word zaten açık ve kalıcı iletişim kutusu görüntülüyor.Tasarımcıyı açmak için, Excel veya Word'ün kalıcı iletişim kutusu görüntülediğini denetleyin ve açık olan kalıcı iletişim kutularını kapatın.Eğer kalıcı iletişim kutuları açık değilse, Excel veya Word yanıt vermeden önce bazı diğer eylemlere gerek olabilir.
Projede hata ayıklanıyor.Tasarımcıyı açmak için, hata ayıklamayı durdurun veya bitirin.
Geliştirme bilgisayrında yüklü olan Excel eklentisi Excel çalışmaya başladığında bir iletişim kutusu görüntülüyor.Excel belge düzeyi projesi oluşturmak için, ilk başta eklentiyi devre dışı bırakmalısınız.
Belge veya Çalışma Sayfasında Denetimler Siyah Dikdörtgenler Olarak Görünür
Belge veya çalışma sayfasında denetimleri gruplarsanız, Visual Studio denetimleri artık tanımaz.Gruplanmış denetimlere Özellikler penceresinden erişilemez ve belge veya çalışma sayfası üzerinde siyah dikdörtgenler olarak görünürler.İşlevselliklerini geri yüklemek için denetimlerin grubunu kaldırmalısınız.
Word şablonundaki denetimler Visual Studio görüntülenmez
Visual Studio tasarımcısında Word şablonu açarsanız, şablonda metinle aynı satırda olmayan denetimler görünmeyebilir.Bunun sebebi Visual Studio'nın Word şablonlarını Normal görüntüde açıyor olmasıdır.Denetimleri görüntülemek için, Görüntüle menüsünü tıklatın, Microsoft Office Word Görüntüsü'nü işaret edin ve Yazdırma Düzeni'ni tıklatın.
Küçük Resim Ekle Komutu Visual Studio Tasarımcısında Bir Şey Yapmaz
Excel veya Word, Visual Studio tasarımcısında açıldığında, Şerit üzerindeki Çizimler sekmesinde Küçük Resim düğmesini tıklatmak Küçük Resim görev bölmesini açmaz.Küçük resim eklemek için, Visual Studio dışındaki ana proje klasöründe olan çalışma kitabı veya belgenin kopyasını açmalısınız (\bin klasörü içindeki kopya değil), küçük resmi eklemelisiniz ve ardından çalışma kitabını veya belgeyi kaydetmelisiniz.
Kod yazma
Office projelerinde kod yazdığınızda, aşağıdaki hatalarla karşılaşabilirsiniz.
Office nesnelerinin bazı olaylar C# kullanırken erişilebilir değil
Bazı durumlarda, belirli bir olay bir Office birincil birlikte çalışma derlemesi (PIA) yazın, bir Visual C# projesinde bir kopyasının erişmeye çalıştığınızda aşağıdaki gibi bir derleyici hatası görebilirsiniz.
"'Microsoft.Office.Interop.Excel._Application.NewWorkbook' ve 'Microsoft.Office.Interop.Excel.AppEvents_Event.NewWorkbook' arasındaki belirsizlik"
Bu hata, başka bir özellik veya yöntem bir nesne ile aynı ada sahip bir olay erişmeye çalıştığınız anlamına gelir.Olayına erişmek için nesneyi dönüştürün, olay arabirimini.
Olayları olan office PIA türleri uygulayan iki arabirim: Çekirdek arabirim özellikleri ve yöntemleri ile ve olay arabirim nesnesinin kullandığı olayları içerir.Bu olay arabirimlerinin adlandırma kuralı kullanmak NesneAdıolaylarn, _Event gibi Microsoft.Office.Interop.Excel.AppEvents_Event ve Microsoft.Office.Interop.Word.ApplicationEvents2_Event.Bir nesne üzerinde bulmak için beklediğiniz bir olay erişemiyorsanız, onun olay arabirimini nesneye dönüştürün.
Örneğin, Microsoft.Office.Interop.Excel.Application nesne içeren bir NewWorkbook olay ve NewWorkbook özelliği.İşlemek için NewWorkbook olay, atama Microsoft.Office.Interop.Excel.Application için AppEvents_Event arabirim.Aşağıdaki kod örneğinde Excel için belge düzeyi projesinde, bunu nasıl gösterir.
private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
((Excel.AppEvents_Event)this.Application).NewWorkbook +=
new Excel.AppEvents_NewWorkbookEventHandler(ThisWorkbook_NewWorkbook);
}
void ThisWorkbook_NewWorkbook(Excel.Workbook Wb)
{
// Perform some work here.
}
Office PIA'daki olay arabirimleri hakkında daha fazla bilgi için bkz: Overview of Classes and Interfaces in the Office Primary Interop Assemblies.
Hedefleyen projelerde Office PIA sınıflarına başvuramaz .NET Framework 4 veya.NET Framework 4.5
' İ hedefleyen projelerde .NET Framework 4 veya .NET Framework 4.5, bir Office PIA içinde tanımlanan bir sınıfa başvuruyor kodu varsayılan olarak derlenmez.PIA sınıfları adlandırma kuralını kullanın NesneAdıgibi sınıf DocumentClass ve WorkbookClass.Örneğin, bir Word eklenti projesi aşağıdaki kod derlenmez.
Dim document As Word.DocumentClass = Globals.ThisAddIn.Application.ActiveDocument
Word.DocumentClass document = (Word.DocumentClass) Globals.ThisAddIn.Application.ActiveDocument;
Bu kod derleme hataları aşağıdaki sonucu verir:
Visual Basic: "birleþimine Hayır PIA modunu kullanarak bağlandığında başvuru sınıfı 'belge ' sınıfı için izin verilmez."
Visual C#: "'Microsoft.Office.Interop.Word.DocumentClass' katıştırılmış birlikte çalışma türü.Uygulanabilir arabirim kullanın."
Bu hatayı gidermek için bunun yerine karşılık gelen arabirim başvurmak için kodu değiştirin.Örneğin, başvuru yerine bir DocumentClass nesnesi, bir örneğini başvuru Document bunun yerine arabirim.
Dim document As Word.Document = Globals.ThisAddIn.Application.ActiveDocument
Word.Document document = Globals.ThisAddIn.Application.ActiveDocument;
Hedefleyen projelerde .NET Framework 4 veya .NET Framework 4.5, otomatik olarak varsayılan olarak tüm Office PIA Interop tiplerini katıştırabilir.Katıştırılmış birlikte çalışma türlerini özelliği yalnızca sınıfları değil arabirimleri ile çalışır çünkü bu derleme hatası oluşur.Arabirimleri ve Office PIA'daki sınıfları hakkında daha fazla bilgi için bkz: genel bakış, sınıfları ve arayüzleri, Office birincil birlikte çalışma derlemeleri.Office projelerinde katıştırılmış birlikte çalışma türlerini özelliği hakkında daha fazla bilgi için bkz: Office Çözümleri Tasarlama ve Oluşturma.
Tanınmayan Office Sınıflarına Başvurular
Bazı sınıflar,Application gibi, çoklu isim uzaylarındadırlar, örn. Microsoft.Office.Interop.Word ve System.Windows.Forms.Bu sebepten ötürü, proje şablonunun en başındaki Imports/using durumu kısayol niteleyici sabiti içerir:
Imports Word = Microsoft.Office.Interop.Word
using Word = Microsoft.Office.Interop.Word;
Imports/using durumunun bu kullanımı, Word veya Excel niteleyiciyle Office sınıflarına yapılan başvuruları ayırmanızı gerektirir, örneğin:
Dim doc As Word.Document
Word.Document doc;
Eğer niteleyici olmayan bir bildirim kullanırsanız hatalar alırsınız, örneğin:
Dim doc As Document ' Class is ambiguous
Document doc; // Class is ambiguous
Word ve Excel isim içeri aktarsanız ve onun içindeki tüm sınıflara erişiminiz olsa bile, Excel'le tüm türleri tamamen nitelemelisiniz Word veya Excel isim uzayı belirsizliğini kaldırmak için.
Proje oluşturma
Office projeleri oluşturma sırasında aşağıdaki hatalarla karşılaşabilirsiniz.
Sınırlı İzinleri Olan Belgeye Bağlı Olan Belge Düzeyi Projesi Yapılandırılmaz
Visual Studio, eğer belge sınırlı izinlere sahipse belge düzeyi projesi yapılandıramaz.Eğer projeniz sınırlı izinlere sahip bir belge içeren, proje derlenmez ve aşağıdaki iletiyi de alırsınız, Hata listesi pencere.
"Özelleştirmeyi eklemede başarısız oldu."
Eğer sınırlı izinlere sahip olan bir belge eklemek istiyorsanız, çözümü geliştirirken ve yapılandırırken kısıtlamasız belge kullanın.Çözümü yayımladıktan sonra, sınırlı izinleri yayımla konumunda belgeye uygulayın.
NamedRange Denetimi Silindikten Sonra Derleyici Hataları Oluşur
Tasarımcıda etkin çalışma sayfasında olmayan bir çalışma sayfasından NamedRange denetimini sildiğinizde, otomatik üretilen kod projenizden kaldırılmayabilir ve derleyici hataları oluşabilir.Kodun kaldırıldığından emin olmak için, denetimi silmeden önce onu etkin çalışma sayfası yapmak üzere NamedRange denetimi içeren çalışma sayfasını her zaman seçmelisiniz.Eğer denetimi sildiğinizde, otomatik üretilen kod silinmezse, tasarımcının çalışma sayfasını etkinleştirmesiyle ve çalışma sayfasının değiştirilmiş olarak işaretlemek amacıyla değişiklik yapmasıyla, kodu silmesine neden olursunuz.Projeyi yeniden yapılandırdığınızda, kod kaldırılır.
Projelerinde hata ayıklama
Office projesinde hata ayıklama sırasında aşağıdaki hatalarla karşılaşabilirsiniz.
Yayımlama ve geliştirme bilgisayarında bir çözüm yüklediğinizde yüklemeyi kaldırma isteminin görünmesi
Office çözümünü hata ayıkladığınız zaman, aşağıdaki hata görebilirsiniz.
"Başka bir sürümü yüklü olan ve bu konumdan yükseltilemez özelleştirme yüklenemez."
Bu hata, daha önce yayımlanmış ve Office çözümleri geliştirme bilgisayarınızda yüklü olduğunu gösterir.Çözüm debug önce iletinin görüntülenmesini engellemek için çözüm bilgisayarda yüklü programlar listesinden kaldırın.Alternatif olarak, yayımlanmış çözüm yüklemeyi sınamak için geliştirme bilgisayarınızda başka bir kullanıcı hesabı oluşturabilirsiniz.
unc ağ konumlarında oluşturulan belge düzeyi projelerinde Visual Studio'dan çalıştırmayın
unc ağ konumunda Word veya Excel için belge düzeyi projesi oluşturduğunuzda, Excel veya Word güvenilir konumlar listesine belgenin konumunu eklemelisiniz.Aksi halde, çalıştırmaya veya Visual Studio projede hata ayıklamaya çalıştığınızda özelleştirme yüklenmez.Güvenilen konumları hakkında daha fazla bilgi için bkz: Belgelere güven verme.
Hata Ayıklamadan Sonra İş Parçacıkları Doğru Şekilde Durdurulmaz
Visual Studio'daki Office projeleri, hata ayıklacının programı doğru şekilde kapamasını sağlayan iş parçacığı adlandırma kuralını takip eder.Çözümünüzde iş parçacıkları oluşturuyorsanız, hata ayıklamayı durdurduğunuzda iş parçacıklarının doğru çalıştığına emin olmak için her iş parçacığını VSTA_ ön ekiyle isimlendirmelisiniz.Örneğin, ayarladığınız Name VSTA_NetworkListener için bir ağ olay için bekleyen iş parçacığı özelliği.
Geliştirme Bilgisayarında Herhangi Bir Office Çözümü Çalışamaz veya Hata Ayıklanamaz
Çalıştırma veya geliştirme bilgisayarınızda Office projesini geliştirmek, aşağıdaki hata iletisini görebilirsiniz.
"Uygulama etki alanı oluşturulamadı çünkü özelleştirme yüklenemedi."
Visual Studio, .NET Framework derleme yükleyicisi olan Fusion'ı Office çözümlerini yüklemeden önce derlemeleri öncelleğe almak için kullanır.Visual Studio'nun Fusion önbelleği yazabildiğine emin olun ve yeniden deneyin.Daha fazla bilgi için bkz. Gölge kopyalama derlemeler.
Düzenle ve devam et kullandıktan sonra belge düzeyi projelerinde hata ayıklamayı durdurma hatası
Bundan sonra hata ayıklayıcıyı durdurun, Düzenle ve devam et proje break modunda çalışırken bir belge düzeyi projesindeki kod Excel veya Word için değişiklik için kullanırsanız, aşağıdaki hata iletisini içeren bir iletişim kutusu görebilirsiniz.
"Şu anki durumunda işlemi sonlandırmak veri ve sistem kararsızlığına kaybı gibi istenilmeyen sonuçlara neden olabilir."
Tıklattığınız olup Evet veya No iletişim kutusunda, Visual Studio Excel veya Word işlemi sonlandırır ve hata ayıklayıcı durdurur.Bu iletişim kutusunu görüntülemeden projede hata ayıklamaya durdurmak için Excel veya Word'ü doğrudan yerine Visual Studio hata ayıklayıcı durdurma çıkın.
Ayrıca bkz.
Görevler
Office Çözüm Güvenliği Sorunu Giderme
Kavramlar
Office Çözüm Dağıtma Sorunu Giderme