'.Dll' meta veri dosyası bulunamadı


724

Bir WPF, C # 3.0 proje üzerinde çalışıyorum ve bu hatayı alıyorum:

Error 1 Metadata file
'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug
\BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools
\VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem

Benim usercontrols bu şekilde başvuruyorum:

xmlns:vms="clr-namespace:VersionManagementSystem"
<vms:SignOffProjectListing Margin="5"/>

Her başarısız derlemeden sonra olur. Derlemek için çözüm elde etmenin tek yolu, tüm kullanıcı denetimlerimi yorumlamak ve projeyi yeniden inşa etmektir ve sonra usercontrols uncomment ve her şey yolunda.

Derleme siparişleri ve bağımlılık yapılandırmalarını kontrol ettim.

Gördüğünüz gibi, DLL dosyasının mutlak yolunu kesilmiş gibi görünüyor ... Uzunluğunda bir hata olduğunu okudum. Bu olası bir sorun mu?

Çok sinir bozucu ve yorum yapmak, inşa etmek ve rahatsız etmek zorunda kaldığınızda, yapı son derece yorucu hale geliyor.


5
Benzer bir sorun vardı (başlıkta belirtilen aynı hatayı alıyorum) ve projeyi temizleyerek ve yeniden inşa ederek hallettim. Diğer projelere doğru bir şekilde
başvurmak

Bu sorunun kabul edilebilir nitelikte bir yanıtı var mı? @Matt_Bro tarafından oldukça iyi biri bulmak.
demongolem

4
Çoğu insan için işe yaramış gibi görünen Matt'in cevabını işaretledim ancak bu benim orijinal sorunumu çözmedi. Hala Windows max yol sınırı ile ilgili olduğunu düşünüyorum. Cevabımı aşağıda görebilirsiniz.
Oliver


Yukarıdaki tüm cevapları denedim ve maalesef hiçbir şey benim durumumda işe yaramadı. 2 hata ile karşılaştım 1. Eksik .dll dosyası 2. Metot zaten aynı parametrelerle başka bir yerde tanımlanmış İlk önce başka bir yerde çoğaltılan fonksiyonu kaldırarak ikinci hatayı temizledik. Benim ilk hatam - yani .dll dosyası eksik kendi kendine çözüldü. .Dll eksik dosya hatası ile birlikte birden fazla hata varsa söylemek istiyorum! Lütfen önce diğer hataları çözmeye çalışın. .Dll hata kendi başına çözülebilir!
Bir kullanıcı

Yanıtlar:


910

Ben de aynı problemi yaşadım. Visual Studio başvurulan projeyi oluşturmuyor.

Yazılı Talimatlar:

  1. Çözüme sağ tıklayın ve Özellikler'e tıklayın.
  2. Soldaki Yapılandırma'yı tıklayın.
  3. Bulamadığı proje için "Oluştur" altındaki onay kutusunun işaretli olduğundan emin olun. Zaten işaretliyse, işaretini kaldırın, Uygula'ya basın ve kutuları tekrar işaretleyin.
  4. (İsteğe bağlı) Çözüm özelliklerindeki Sürüm ve Hata Ayıklama modları için bunu yapmak zorundaydınız.

Ekran yakalama talimatları:

  • Bir resmin bin kelimeye bedel olduğunu söylüyorlar. Yakınlaştırmak için GIF'e tıklayın ve umarım takip etmek kolay olacaktır:

Gif Instructions


177
Ve benim durumumda, onay kutusu işaretli olsa bile, işaretini kaldırın ve tekrar kontrol etmek sorunu çözdü.
ngm

13
Bu benim sorunum düzeltildi - çözüm özellikleri üzerinde hem Release hem de Debug modları için yapmak zorunda kaldım. Teşekkürler!
theJerm

133
Simble uncheck / check sorunu çözmedi, bu yüzden sonraki adımları yapmak zorunda kaldım: - temiz çözüm - tüm yapı onay kutularının işaretini kaldırın - VS'yi yeniden başlatın - tüm yapı onay kutularını işaretleyin - yapı çözümü
frankie

27
Yapılması gereken diğer bir şey, her bir proje bağımlılığını kontrol etmektir, bazı nedenlerden dolayı bunu otomatik olarak ayarlamamıştır. Çözüm Özellikleri -> Ortak Özellikler -> Proje Bağımlılıkları.
Anicho

9
işaretini kaldırın -> kontrol kısa süre benim için çalıştı sonra sorun geri döndü. Sonra Visual Studio'yu yeniden başlattım ve sorun ortadan kalktı.
DeveloperDan

224

Bu hala Visual Studio'nun yeni sürümlerinde olabilir (sadece Visual Studio 2013'te olmuştum):

Denenecek başka bir şey, Visual Studio'yu kapatmak ve .suodosyanın yanındaki dosyayı silmek .sln. (Bir dahaki sefere Save all(veya Visual Studio'dan çıktığınızda) yeniden oluşturulacaktır ).

Başka bir makinede çözüme yeni projeler ekleyip revizyonları çekerken bu sorunu yaşadım, ancak .suodosya diğer durumlarda da bozulabilir ve çok garip Visual Studio davranışına yol açabilir, bu yüzden silmek her zaman denediğim şeyler.

.suoDosyayı silmenin , çözümün başlangıç ​​projelerini sıfırlayacağını unutmayın .

.suoDosya hakkında daha fazla bilgi burada .


24
Bu benim için sorunu düzeltti. Ayrıca belirtmek gerekir ki .suodosyalar gizli. Bu nedenle, kaşifinizi gizli dosyaları gösterecek şekilde ayarlamanız gerekir.
George Howarth

6
Xamarin projesi ile çalışıyorum ve .suo dosyası .vs / klasöründe bulunur.

VS2013 - TFS Çalışma Alanımı farklı bir yere taşımak zorunda kaldım. Bunu tamamladıktan sonra bu hatayı almaya başladım. Sou dosyasını silmek benim için çalıştı.
Vin

40
Bu benim için de işe yaradı. Ancak Visual Studio 2015'te, .suodosya hem gizlidir hem de .vsyanındaki gizli bir dizinde bulunur .sln. örneğin: Çözüm dosyası ise c:\foo\mysolution.slno zaman bakmak içinc:\foo\mysolution\.vs\mysolution\v14\.suo
Wyck

6
VS2017 için, basitlik için, sadece .vsgizli klasörü sildim, bunun yerine .suodosyayı da sildim . Çözümü yeniden açtım, ilgisiz bir hata daha düzelttim ve sorun çözüldü.
user3613932

184

Önerilen cevap benim için işe yaramadı. Hata, başka bir sorun için bir yemdir.

.NET'in biraz farklı bir sürümünü hedeflediğimi öğrendim ve bu derleyici tarafından bir uyarı olarak işaretlendi, ancak binanın başarısız olmasına neden oluyordu. Bu bir uyarı olarak değil hata olarak işaretlenmelidir.


9
Proje> Özellikler> Uygulama> Hedef Çerçeve'ye sağ tıklayarak proje çerçevesini uyarı mesajında ​​belirtilen daha yüksek sürüme eşleştirerek düzeltmeyi başardım.
StronglyTyped

1
Benim için aynı, vs2015 kullanarak.
bruno.bologna

Evet. aynen bana da oldu. VS 2015
KevinDeus

Teşekkürler! Bu benim sorunumu çözdü. Projeyi .Net Framework 4.7.1'e yükselttikten sonra VS 2015.
DHoover

Wow, bu benim için düzeltti. Yeni proje farklı bir .net sürümünü hedefliyordu. Bunun için vs2017'de bir kontrol olmadığına inanamıyorum.
Douglas Gaskell

104

Cevabım sadece tüm çözümlerin özeti değil, daha fazlasını sunuyor.

Bölüm 1):

Genel çözümlerde:

'Kaynak Dosya Açılamadı (' Belirtilmemiş hata ')' diyen bir hata ile birlikte bu türden dört hata ('meta veri dosyası bulunamadı') vardı.

'Meta veri dosyası bulunamadı' hatası kurtulmaya çalıştım. Bunun için birçok yazı, blog vb. Okudum ve bu çözümlerin etkili olabileceğini buldum (bunları burada özetleyerek):

  1. Visual Studio'yu yeniden başlatın ve yeniden oluşturmayı deneyin.

  2. 'Çözüm Gezgini'ne gidin . Çözümü sağ tıklayın. Özellikler'e gidin . 'Configuration Manager'a gidin . 'Derleme' altındaki onay kutularının işaretli olup olmadığını kontrol edin. Bunlardan herhangi biri veya tümü işaretlenmemişse, bunları kontrol edip tekrar oluşturmayı deneyin.

  3. Yukarıdaki çözüm (ler) işe yaramazsa, yukarıdaki 2. adımda belirtilen sırayı takip edin ve tüm onay kutuları işaretlenmiş olsa bile işaretlerini kaldırın, tekrar kontrol edin ve tekrar oluşturmayı deneyin.

  4. Derleme Sırası ve Proje Bağımlılıkları:

    'Çözüm Gezgini'ne gidin . Çözümü sağ tıklayın. 'Proje Bağımlılıkları ...' bölümüne gidin . İki sekme göreceksiniz: 'Bağımlılıklar' ve 'Derleme Sırası' . Bu oluşturma sırası, çözümün inşa edildiği sıradır. Diğerlerine bağımlı olan bazı projelerin ('project1' deyin) ('project2' deyin) bundan önce (project2) oluşturmaya çalışıp çalışmadığını doğrulamak için proje bağımlılıklarını ve oluşturma sırasını kontrol edin. Hatanın nedeni bu olabilir.

  5. Eksik .dll dosyasının yolunu kontrol edin:

    Eksik .dll dosyasının yolunu kontrol edin. Yolda boşluk veya başka bir geçersiz yol karakteri varsa, onu kaldırın ve yeniden oluşturmayı deneyin.

    Nedeni bu ise, oluşturma sırasını ayarlayın.


Bölüm 2):

Benim özel durumum:

Visual Studio'yu birkaç kez yeniden başlatmayla yukarıdaki tüm adımları çeşitli permütasyonlar ve kombinasyonlarla denedim. Ama bana yardımcı olmadı.

Bu yüzden, karşılaştığım diğer hatalardan kurtulmaya karar verdim ('Kaynak Dosya Açılamadı (' Belirtilmemiş hata ')').

Bir blog yazısı ile karşılaştım: TFS Hatası – Kaynak Dosya Açılamadı ('Belirtilmemiş hata')

O blog yazısı belirtilen adımları çalıştı ve hata kurtuldum 'Kaynak Dosya açılamadı (' Belirtilmemiş hatası ')' ve şaşırtıcı ben diğer hatalar kurtuldum ( 'meta veri dosyası bulunamadı') olarak iyi.


Bölüm (3):

Hikayeden çıkarılacak ders:

Hatadan kurtulmak için yukarıdaki bölüm (1) 'de belirtildiği gibi tüm çözümleri (ve diğer çözümleri) deneyin. Hiçbir şey işe yaramazsa, yukarıdaki bölüm (2) 'de belirtilen blog'a göre , kaynak denetiminde ve dosya sisteminde artık bulunmayan tüm kaynak dosyalarının girdilerini .csproj dosyanızdan silin .


4
Benim sorunum Sipariş / Proje Bağımlılıklarıydı. Diğer projelerden referansları kaldırmak ve geri eklemek bunu düzeltir (sanırım) ama bunu kendiniz de yapabilirsiniz.
Nacht - Monica

4
Bu problemi, .NET v4.5projeyi aşağıya doğru derecelendirerek karşılaştım .NET v.4.
guneysus

1
Referanslanan dll yolundan "%" kaldırılması bana yardımcı oldu
Boogier

1
Bölüm 2'deki çözüm benim için çalıştı! Başka bir hatayla karşılaştım ve diğerlerinin sihirli bir şekilde kaybolduğunu düzelttiğimde.
Martin Johansson

1
Boogier ile aynı sorunu yaşadım. Klasör adımda bir boşluk yerine% 20 vardı ve dll bir boşluk arıyordu. Gerçek olan en basit olduğunda, diğer tüm düzeltmeleri denemek için çok zaman geçirdim.
Lenny K

38

Benim durumumda bunun nedeni bir .NET Framework sürümü uyuşmazlığıydı.

Bir proje 3.5, diğeri referans projesi 4.6.1 idi.


2
Bu aynı zamanda 4.5.2 Vs. 4.6
AzzamAziz

2
Gerçekten, 4.6.1 bir tane vardı ve geri kalanı 4.5.2, teşekkürler!
Mason

7
Evet, bir çerçeve sürümü farklı olduğunda, bu olur. Büyük hata Microsoft!
Eric Schneider

Evet! Projem .Net 4.6.1 iken bir .Net 4.7.1 .dll kullanmaya çalışıyordum. Uyarı diğer öğeler tarafından gizlendi, ancak bununla ilgili bir hata yok. Benim
hatam

29

Visual Studio 2013'ün kapatılması ve yeniden açılması benim için çalıştı!


Proje dosyalarına git değişiklikleri geri döndükten sonra bu sorun var. VS2015'i yeniden başlattı ve sorunu çözdü
Ludovic C

Bu kabul edilmiş cevap olarak işaretlenmelidir. Onay kutularını işaretlemek / işaretlerini kaldırmak daha uzun sürer.
Alex

1
Hala VS2019 ile bu sorunu yaşıyor ve bu benim için düzeltti, teşekkürler
pcdev 9

20

Önceki cevaplardaki hiçbir şey benim için işe yaramadı, bu yüzden neden geliştiriciler olarak burada neler olduğunu anlamaya çalışmamız gerektiğinde neden tıkladığımı ve umduğumu düşünmemi sağladı.

Bu yanlış meta veri dosyası referansının bir yerde tutulması gerektiği açıktı.

.Csproj dosyasının hızlı bir şekilde aranması suçlu çizgilerini gösterdi. Eski yanlış dosya yoluna asılı gibi görünen <itemGroup> adlı bir bölüm vardı.

<ItemGroup>
    <ProjectReference Include="..\..\..\MySiteOld\MySite.Entities\MySite.Entities.csproj">
        <Project>{5b0a347e-cd9a-4746-a3b6-99d6d010a6c2}</Project>
        <Name>Beeyp.Entities</Name>
    </ProjectReference>
...

Yani basit bir düzeltme gerçekten:

  1. .Csproj dosyanızı yedekleyin.
  2. .Csproj dosyasındaki yanlış yolları bulun ve uygun şekilde yeniden adlandırın.

Lütfen kemanlamadan önce eski .csproj'unuzu yedeklediğinizden emin olun .


38
lütfen herhangi bir şey
yapmadan

14

Ben de bu problemle karşılaştım. Öncelikle, sağ tıklatarak, Build DLL dosyasını el ile oluşturmanız gerekir. Sonra işe yarayacak.


14
Bu düzeltme çalışırken, aslında sorunu gidermez ve daha fazla altta yatan soruna yol açabilir. Her şeyden önce, bir depoda kodla çalışıyorsanız, kodu geliştireceği bir noktaya getirmek için yeni bir geliştiricinin çemberlerden atlamasını istemek kötü bir formdur. İkincisi, başvurulan projedeki değişiklikleri görmek için her seferinde manuel olarak yeniden oluşturmanız gerekir. Soruna daha sağlam bir çözüm bulmak için lütfen cevabıma bakın.
Matt_Bro

Benim durumumda, projeyi bireysel olarak bile oluşturmuyor, bana aynı hatayı veriyor. Diyelim ki projemin adı "proj1", bunu derlerken (dediğin gibi manuel olarak) bana ver Metadata file ...proj1.dll could not be found!
A-Sharabiani

14

Benim durumumda, yüklü dizinimi yanlış şekillerde aldım.

Çözüm yolunuz "Projem% 2c Çok Popüler% 2c Birim Sınama% 2c Yazılım ve Donanım.zip" gibi bir şeyse, meta veri dosyasını çözemez, belki% 2c gibi bazı geçersiz sözcükleri engellemeliyiz.

Yolu normal adla yeniden adlandırmak sorunumu çözdü.


1
Verdiğiniz çözüm hakkında biraz daha açıklama ekleyerek cevabınızı daha ayrıntılı açıklayabilir misiniz?
abarisone

Git klonum klasör yoluma% ekledi, bunları kaldırmak sorunu çözdü.
Erik Bergstedt

@abarisone "% 2c" dizesini yoldan kaldırdım, sonra işe yaradı
masphei

1
Bu da benim sorunumdu, projeyi klonladığımda basit bir alan yerine "% 20" kullanılarak adlandırıldı. Teşekkürler @ abarisone, yaklaşımınız sorunumu çözdü.
MA Cordeiro

Projemi TFS'den klonladığımda bir nedenden dolayı% 20 ekledi. Silme sorunu da benim için düzeltildi.
Selthien

13

Aynı hatayı aldım "Meta veri dosyası '.dll' bulunamadı" ve yukarıda açıklanan birkaç şeyi denedim, ancak hatanın nedeni, daha yüksek bir .NET sürümünü hedefleyen üçüncü taraf DLL dosyasına başvuruyordum benim proje hedef .NET sürümü. Dolayısıyla çözüm, projemin hedef çerçevesini değiştirmekti.


Aynı cevabı vermek üzereydim, benim durumumda .Net 4.5.x'i hedefleyen yeni bir proje ekledim ve Bu projeyi oluşturduğumda, .Net 4.6 kullanan bir projeye bir referans ekledim.
Juan

12

Visual Studio 2019 bu benim için çalıştı:

  1. Visual Studio'yu kapatın
  2. Gizli .vsklasörü sil
  3. Visual Studio'yu yeniden açın ve çözümü yeniden oluşturun.

Çok teşekkür ederim, bu başarısız bir yapı daha yaptıktan sonra benim için de çalıştı.
Iamsodarncool

Teşekkürler, bu benim için yaptı.
iaacp

10

Benim için, projeyi içeren bir yolda bir DLL bulmaya çalışıyordu, ancak yeni bir dizine taşıdık. Çözüm, Proje için doğru yola sahipti, ancak Visual Studio bir şekilde eski konuma bakmaya devam etti.

Çözüm: Her sorunu yeniden adlandırın Project - bir karakter veya başka bir şey ekleyin - sonra orijinal adına yeniden adlandırın.

Bu, Visual Studio'da bir tür genel önbelleği sıfırlamalıdır, çünkü bu hem sorunu hem de benzerlerini temizler, Temiz gibi şeyler yapmaz.


10

Çözümüme yeni bir proje ekledim ve almaya başladım.

Sebep? Getirdiğim proje farklı bir .NET çerçevesi hedefliyordu (4.6 ve diğer ikisi 4.5.2 idi).


1
Nedenini şimdi bilmiyorum ama böyle bir yıl boyunca projelerimi yürütüyordum. alt projem 4.6.1 ve ana projem 4.5.2 idi. sorunsuz çalıştı. aniden bu hatayı alıyorum ama 4.6.1 'de mevcut özelliği vardır çünkü bu sorun olduğuna inanmıyorum alt proje düşürmek istemiyorum. Microsoft hala çalışıyor olması gerektiğini açıkladı
batmaci

TLDR: Derleme uyarılarını kontrol edin. Bana olan bu, ama bir bükülme ile. projeksiyonlar 4.5.2 idi. 4.6'da yeni projeler eklendi. 4.6 projeye nuget paketleri kuruldu. 4.6 projeyi 4.5.2'ye düşürüldü. Nugets 4.6 bekliyordu. Nugetlerin sürümleri çözüldü.
w00ngy

9

Benim için bir çözüme yeni bir proje eklediğimde oldu.

Visual Studio .NET framework 4.5'i otomatik olarak seçer.

Diğer kütüphaneler gibi .NET 4.5.2 sürümüne geçtim ve işe yaradı.


8

Benim için aşağıdaki adımlar işe yaradı:

  • İnşa etmeyen projeyi bulun
  • Çözüm içindeki projelere referansları kaldırın / ekleyin.

Çözüm gezgininde "kullanılmayan referansları kaldır" referans "klasörüne" sağ tıklayın. Bunu bu çözümdeki tüm projelerim üzerinde yaptım, hile yaptı
Mathieu VIALES

8

Saçlarımı bu sorunla da çekiyordum, ama önceki cevapları denedikten sonra benim için işe yarayan tek şey, her projeyi 1'e 1 çözümümde açmak ve bunları ayrı ayrı inşa etmekti.

Sonra Visual Studio 2013'ü kapattım, çözümümü yeniden açtım ve iyi derlendi.

Garip, çünkü Çözüm Gezgini'mdeki her bir projeyi tıklayıp bunları bu şekilde oluşturmaya çalışırsam hepsi başarısız oldu. Onları kendi çözümlerinde yalnız açmak zorunda kaldım.


1
Ugh, bu. Pek çok şey Microsoft'un yeniden çalışması için yeniden başlatma gerektiriyor.
Yatrix

8

Visual Studio'nun bir hata hakkında doğru bilgi sağlamamasıyla ilgili bu tür hatalara benziyor. Geliştirici, başarısız derlemenin nedenini bile anlamıyor. Bir sözdizimi hatası veya başka bir şey olabilir. Genel olarak, bu tür sorunları çözmek için sorunun kökünü bulmalısınız (örneğin, yapı günlüğüne bakın).

Benim durumumda sorun aslında Error Listpencere herhangi bir hata göstermedi oldu. Ama gerçekten sözdizimi hataları vardı; Bu hataları Outputpencerede buldum ve düzelttikten sonra sorun çözüldü.


Ben de bu sorunu yaşadım. Hata Listesinde hata yoktu, ancak DevOps'taki başarısız derleme sonuçları hatayı gösterdi
amartin

7

Sorunun örneğine, içinde yinelenen bir sınıf adı (farklı bir dosya adı altında) bulunan ortak bir proje neden oldu. Visual Studio'nun bunu algılayamaması ve bunun yerine oluşturma işlemini patlatması tuhaf.


Bu bir yorum mu, cevap mı yoksa yeni bir soru mu? Ayrıca, OP'nin 2009'dan olduğunu unutmayın
GDO

8
Aynı soruna ek bir çözümdür. OP'nin eski olduğunu biliyorum, ancak son birkaç gönderiye dayanarak insanlar hala başka nedenler buluyor. Diğer çözümlerin hiçbiri benim için çalışmadığı için bir sonraki adamı biraz hayal kırıklığına uğratmaya çalışıyorum.
Eric

4
Kimsenin tepkisini eleştirmiyorum, sadece aynı belirtiye alternatif bir çözüm öneriyorum.
Eric

7

Bu sorunu Visual Studio 2012'de birçok projeye sahip bir çözümde aldım. Çözümdeki her projeyi Proje Derleme Sırasıyla aynı sırayla manuel olarak yeniden oluşturmak (Çözüm Gezgini'nde sağ tıklayın ve yeniden oluşturun) benim için düzeltti.

Sonunda derleme hatası veren bir tanesine vardım. Hatayı düzelttim ve çözüm bundan sonra doğru şekilde inşa edilecekti.


Benim durumumda, Visual Studio 2015'i Yönetici modunda açana kadar hata gizlendi. Ancak bundan sonra derleme hatasını gösterdi. Bunu düzelttikten sonra devam edebilirim.
SL Barth - Monica'yı

6

Benim durumumda el ile "eksik" olarak işaretlenmiş bir derleme olmayan dosyayı silmiş olmasıydı. Ben şimdi eksik dosyaya referansı sildi ve yeniden derledi - hepsi iyi oldu.


6

Çözüm adınızda bir boşluk varsa, bu da soruna neden olur. Alanı çözüm adınızdan kaldırmak, böylece yol% 20 içermiyorsa bu sorunu çözecektir.


sen bir dahisin!!
Itamar

Anlamadan önce yorumunuzu görmedim. Ama bu benim sorunumdu.
L Johnson


6

Benim durumumda, sorun basit bir derleme hatası,

hata CS0067: 'XYZ' olayı asla kullanılmıyor

herhangi bir nedenle hata penceresinde görünmedi.

Bu nedenle, Visual Studio oluşturma sistemi hatayı kaçırmış gibi görünüyordu ve bu da can sıkıcı meta veri mesajıyla başarısız olan bağımlı projeler oluşturmaya çalıştı.

Tavsiye, kulağa geldiği kadar aptalcadır:

İlk olarak Çıktı Pencerenize bakın !

Bu fikrin bana çarpması yarım saat sürdü ...


Bence herkes bu cevaba bakmalı. Derleme çıktı penceresine bakın ve orada herhangi bir hata veya uyarı olup olmadığını görün ve düzeltin. Sorun çözüldü. Cevabınız için teşekkürler Heinz Kessler.
Kaptan Amerika

5

Ben de aynı hatayı aldım. Aşağıdaki yolda olduğu gibi gizlenir. DLL dosyası için bahsettiğim yol "D: \ Assemblies Folder \ Assembly1.dll" gibidir.

Ancak derlemenin başvurduğu özgün yol "D: \ Assemblies% 20Folder \ Assembly1.dll" idi.

Bu yol adı varyasyonu nedeniyle derleme özgün yolundan alınamadı ve bu nedenle "Meta veri bulunamadı" hatası atar.

Çözüm Yığın Taşması sorusudur. Tüm boşlukları C # içinde% 20 ile nasıl değiştirebilirim? .


5

Aynı sorunla karşılaşmıştım. Benim durumumda, projemden daha yüksek .Net sürümü olan bir sınıf kütüphanesi projesine başvurdum ve VS projeyi inşa edemedi ve aynı hatayı yayınladı.

Ben sadece benim sınıf kütüphane projesinin .Net sürümünü (derleme kırık olan) başvurulan proje .Net sürümüyle aynı ve çözüldü ayarlayın.


1
Bu!!! Yukarıdaki cevap iyi olsa da ben sadece tamamen gözden kaçan bir şeydi. Teşekkürler efendim.
Rhys Johns

@RhysJohns mutlu kodlama :)))
Code_Worm

4

Sadece açık bir şekilde işaret: "Derleme başladığında çıkış penceresini göster" etkin değilse, derleme başarısız olup olmadığını (sol altta küçük "derleme başarısız" hatası) fark ettiğinizden emin olun !!!!


Son zamanlarda benzer bir şey vardı - mavi, Hata günlüğünde yüzlerce cs0006 hataları ama başka bir şey (ve çok ince bir tarak ile taranmış). Sonunda (!) Çıktı penceresine bakmayı düşündüm ve bir derleyici hatası rapor edildi ve kodda hatanın altında kırmızı bir dalgalı olduğundan eminim. Hata neden Hatalar penceresinde bildirilmedi hakkında hiçbir fikrim yok. VS2017 Kurumsal.
haughtonomous

4

Bir web uygulaması yayınlamaya çalışırken bu hatayla karşılaştım. Bir sınıf özelliğinden birinin içine alındığı ortaya çıktı

#if DEBUG
    public int SomeProperty { get; set; }
#endif

ancak mülkiyet kullanımı değildi. Yayınlama, DEBUGSembol olmadan Sürüm yapılandırmasında yapıldı .


4

Hata mesajına dayanarak dosya yolunun kesildiğine inanmıyorum. Sadece yanlış gözüküyor. İletiyi doğru okuyorsam, DLL dosyasını arıyor gibi görünüyor ...

ÇALIŞMA = - \ Araçlar \ VersionManagementSystem \ BusinessLogicLayer \ bin \ Debug \ BusinessLogicLayer.dll

Bu geçerli bir yol değil. Derleme işleminde geçersiz bir değere ayarlanmış bir makro tanımınız olabilir mi?


Hiçbir şeyi değiştirmediğim ve özel oluşturma olayları veya yapılandırmaları olmadığım için nasıl bilmiyorum
Oliver

4

.nuget\NuGet.exeDepomda yer almadığı için bu sorunu yaşadım . DownloadNuGetExeNuGet.targets uygulamasında etkinleştirmeme rağmen , indirmeye çalışırken bir proxy hatası bildirdi. Bu, proje yapılarının geri kalanının başarısız olmasına neden oldu.


4

Sahte derlemeler kullanırsanız bu hata gösterilebilir. Sahte ürünleri kaldırmak, projenin başarılı bir şekilde oluşturulmasına yol açar.


"Sahte montaj" nedir? Detaylandırabilir misin? (Cevabınızı genişleterek yanıt verin.)
Peter Mortensen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.