CodeDom sağlayıcı türü “Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider” bulunamadı


159

VS2015 kullanan bir WebApi projesidir.

Yeniden oluşturma adımı:

  1. Boş bir WebApi projesi oluşturma
  2. Derleme çıkış yolunu "bin \" yerine "bin \ Debug \" olarak değiştirin
  3. Çalıştırmak

resim açıklamasını buraya girin

Çıktı Derleme yolunu "bin \" yerine "bin \ Debug \" olarak değiştirene kadar her şey mükemmel çalışıyor. Aslında, "bin \" dışındaki herhangi bir Çıktı yolu çalışmaz.

Küçük bir ek şey, "bin \" bir yapı bıraktığım sürece herhangi bir yere başka bir çıkış yolu olması işe yarayacak olmasıdır.

Lütfen bunu çözmek için çözüm sağlamaya yardımcı olun. Sanırım bu gerçek dağıtımda bir sorun olacak.


Web uygulamanızın çıktı yolunu neden değiştirdiğinizi sorabilir miyim? Teşekkür ederim.
X-Mao

Msbuild comilation sırasında daha önce çalıştırılan bir ASP.NET MVC başvurusunu her yenilediğimde bu istisna bana oluyor .
Nikolay Kostov

Aynı şey bana da oldu. Birkaç .dll kütüphanesine referanslar ekledikten sonra başladı. Kütüphaneleri kaldırıp yeniden yükleyerek düzelttim. Ve bunun neden böyle olduğu hakkında hiçbir fikrim yok ..
Letie Techera

Yanıtlar:


127

Projeniz Roslyn referanslarına sahipse ve bunu bir IIS sunucusuna dağıtıyorsanız , birçok barındırma sağlayıcısı hala sunucularını yükseltmediğinden ve bu nedenle Roslyn'i desteklemediğinden web sitesinde istenmeyen hatalar alabilirsiniz.

Bu sorunu çözmek için Roslyn derleyicisini proje şablonundan kaldırmanız gerekir . Roslyn'i kaldırmak, kodunuzun işlevselliğini etkilememelidir. Benim ve üzerinde çalıştığım bazı projeler (C # 4.5.2) için iyi çalıştı.

Aşağıdaki adımları uygulayın:

  1. Aşağıda gösterilen komut satırını kullanarak aşağıdaki Nuget Paketlerini kaldırın ( veya Kök Proje Çözümüne Sağ Tıklayıp kaldırarak Nuget Paket yöneticisinin GUI'sini kullanabilirsiniz ).

    PM> Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
    PM> Uninstall-package Microsoft.Net.Compilers
  2. Web.Config dosyanızdan aşağıdaki kodu kaldırın ve IIS'yi yeniden başlatın . ( Bu yöntemi yalnızca 1. adım sorununuzu çözmezse kullanın. )

    <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>


4
Yaklaşık bir gündür '/' uygulamasında 'sunucu hatası' üzerinde kaldım. Visual Studio 2015'te basit bir Hello World uygulamasını derliyorum ve bir web sunucusuna dağıtıyorum ve bu hatayı alıyorum. Yukarıdaki <compiler> satırlarını kaldırmak da bu sorunu ortadan kaldırmıştır. Bunun nasıl gerçekleştiğini ve daha iyi bir çözüm olup olmadığını bilmek istiyorum. Ben merhaba dünya uygulaması sorunları çarpmadan bu şekilde
konuşlayamazsınız

4
Roslyn'i etkinleştirmek için aşağıdaki makaleyi görebilirsiniz . ASP.NET uygulamalarında .NET Derleyici Platformunu (“Roslyn”) etkinleştirme ASP.NET'te neden Roslyn derlemesi? ASP.NET uygulamanızda yeni Roslyn derleyicilerinin etkinleştirilmesi iki ana avantaj sağlar: * Yeni dil özellikleri desteği * Potansiyel olarak geliştirilmiş uygulama başlatma / ön derleme süresi
vibs2006

1
Yeni bir web projesi oluşturduğumda, bu referanslar zaten mevcuttu. Neden varsayılan olarak kurulurlar, amaçları nedir? Ayrıca benim anlayışım için Roslyn yeni C # derleyicisi. Kaldırma Visual Studio nasıl kırmaz?
Jens Mander

@JensMander her ikisi de derleme çalışma zamanlarıdır. IIS'de Roslyn Compiler'ı manuel olarak etkinleştirmemiz gerekiyor. Lütfen makaleye ilişkin önceki 'Enabling the .NET Compiler Platform.
yorumumdaki

Aynı hatayla karşılaştım, sonunda Microsoft.CodeDom.Providers.DotNetCompilerPlatform için en son paketi güncelledim benim için çözüldü.
Kırmızı

47

Bu yanıtın tavsiyelerine uymaya dikkat edin. Elinizdeki sorunu çözerken, daha sonraki bir tarihte farklı sorunlara neden olabilir.

Ben de aynı problemi yaşadım. Görünüşe göre. NET derleyici yüklenmedi GAC. Bunu çözmek için ne yaptım:

İlk olarak, paket yöneticisi konsoluna şunu yazın:

PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

Şimdi, bir nedenden dolayı Microsoft'taki güzel beyler bunu GAC'ye bizim için yüklememeye karar verdiler. Geliştirici Komut İstemi'ni açıp şunu yazarak manuel olarak yapabilirsiniz:

gacutil -i "C:\*PATH TO YOUR APP CODE*\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll"

Sonuç

Microsoft, herkesi nuget sistemiyle karşılaştığınız hatalar olmadan iyi olabilecek nugetlerle her şeyi yapmaya teşvik etmeye çalışır. Aynı projeyi farklı çözümlerde kullanmaya çalışın, bunlardan birinde kullandığı birçok nugetten birini yanlışlıkla güncelleyin (veya etmeyin) ve şanssızsanız, diğer çözümü oluşturmaya çalıştığınızda ne demek istediğimi göreceksiniz. Öte yandan, GAC'ye dosya koymak da gelecekteki sorunlara neden olabilir, çünkü insanlar oraya koyduklarını unutmaya eğilimlidir ve daha sonra yeni ortamlar oluştururken bu dosyaları dahil etmeyi unuturlar. Başka bir olası çözüm (yeni derleyici 3. parti çağırmak garip olsa da) 3. parti dll için merkezi bir klasöre dosyaları koymak, yeni ortamlar kurarken kırık referans sorunları oluşturur. Dll'yi GAC'ye yüklemeye karar verirseniz, dikkatli olun ve bunu yaptığınızı unutmayın. Eğer yapmazsanız, her proje için nugeti tekrar indirin ve neden olduğu tüm can sıkıcı böcekleri taşıyın (en azından sonunda hastalandığımda ve dosyaları GAC'ye yerleştirdiğimde olur). Her iki yaklaşım da baş ağrısı verebilir ve problem yaratabilir, bu sadece hangi problemlerle başa çıkmayı tercih ettiğiniz sorusudur. Microsoft, nuget sistemini kullanmanızı önerir ve genellikle, nuget sisteminden tamamen bıkmadıkça ve daha iyi bir alternatif olacak kadar GAC ile uğraşmadıkça, onları SO'da bilinmeyen bir programcıya göre dinlemek daha iyidir. senin için. her proje için nuget'i tekrar indirin ve neden olduğu tüm can sıkıcı böcekleri taşıyın (en azından sonunda hastalandığımda ve dosyaları GAC'ye yerleştirdiğimde). Her iki yaklaşım da baş ağrısı verebilir ve problem yaratabilir, bu sadece hangi problemlerle başa çıkmayı tercih ettiğiniz sorusudur. Microsoft, nuget sistemini kullanmanızı önerir ve genellikle, nuget sisteminden tamamen bıkmadıkça ve daha iyi bir alternatif olacak kadar GAC ile uğraşmadıkça, onları SO'da bilinmeyen bir programcıya göre dinlemek daha iyidir. senin için. her proje için nuget'i tekrar indirin ve neden olduğu tüm can sıkıcı böcekleri taşıyın (en azından sonunda hastalandığımda ve dosyaları GAC'ye yerleştirdiğimde). Her iki yaklaşım da baş ağrısı verebilir ve problem yaratabilir, bu sadece hangi problemlerle başa çıkmayı tercih ettiğiniz sorusudur. Microsoft, nuget sistemini kullanmanızı önerir ve genellikle, nuget sisteminden tamamen bıkmadıkça ve daha iyi bir alternatif olacak kadar GAC ile uğraşmadıkça, onları SO'da bilinmeyen bir programcıya göre dinlemek daha iyidir. senin için.


41
GAC'da olması gerekmiyor. Nuget yaklaşımının arkasındaki asıl nokta, projenizin ana sistemdeki hiçbir şeyi değiştirmeden C # veya VB.NET'in belirli bir sürümünü kullanmasını sağlamaktır. MSFT'den
Mishra

30
Bu meclisler GAC dönemine ait DEĞİLDİR. Bunları GAC'ye yerleştirmek, kodunuzu koruması gereken biri yanlış derleyicinin neden kullanıldığını belirleyemediğinde nihai bir baş ağrısına neden olur.
EKW

5
Microsoft açıklamalar için -1. Bu günlerde bunu yapmak havalı gibi. BTW, külçelerin, onları görmezden geldiğiniz çok popüler yapan birçok avantajı vardır. Şimdi Microsoft beylerinin bunun hakkında ne düşüneceğini düşünün.
Fabio Milheiro

2
@YuvalPerelman Microsoft, 3-4 yıl süren çok yıkıcı şeyler yapıyor (Visual studio'un istikrarsızlaştırılması, çok düşük kaliteli ürünler üretilmesi gibi). Bazen kalkınma departmanı yönetiminin tamamının başlatılması için bile dua ediyorum. Ancak bu kesinlikle böyle değil!
Maris

2
Bu bağımlılığı elde etmek bir süredir gördüğüm en harika şey.
Svend

31

Projenize bir sonraki külçe paketini eklemeniz yeterli - Microsoft.CodeDom.Providers.DotNetCompilerPlatform.

Aynı sorun vardı.


Sadece biraz dikkatli ol; web.config içindeki 'compilerOptions' öğesinin üzerine yazar, bu yüzden yüklemeden önce özel değerleri kaydettiğinizden emin olun.
Radderz

19

Benim app Vs2013 çalıştı ama Vs2015 güncelledikten sonra hata alıyorum aynı sorun var.

  1. Vs2015'te NuGet Paket Yöneticisi'ni açmak için projenin Referanslar klasörünü sağ tıklayın
  2. Gözat sekmesi altında, "DotNetCompilerPlatform" için arama yapın ve "Microsoft.CodeDom.Providers.DotNetCompilerPlatform" lib dosyasını yükleyin

2
Paket yöneticisini açmak için projenin Referanslar klasörünü tekrar sağ tıkladığınız için teşekkürler
garyh

3
Önce kaldırmayı deneyin, ardından NuGet'e tekrar yükleyin. Bu benim için çalıştı.
Matt

Sen bir efsanesin
Mo D Genesis

16

Eski bir iş parçacığı olduğunu biliyorum, ancak DotNetCompilerPlatform.dll, f olası sürüm sorunu işaret etmek istiyorum. ex. bir güncellemeden sonra. Lütfen yeni oluşturulan Web.config dosyasının, yayımlanan web.config dosyanızdan, özellikle system.codedom kısmından farklı olup olmadığını kontrol edin. Benim durumumda 1.0.7'den 1.0.8'e sürüm değişikliği oldu. Yeni dll zaten sunucuya kopyalanmıştı, ancak eski web.config (bazı sunucu özel ayarlarıyla) değiştirmedi:

<pre>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.8.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.8.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
  </system.codedom>
</pre>

İki satırı güncelledikten sonra hata kayboldu.


1
Ben DotNetCompilerPlatform ile ilgili sorunlar her tek zaman bunu güncelleyin.
LarryBud

2
Sürüm özniteliğini kaldırırsanız, bir sonraki güncellemede de çalışacak ve hatanın tekrar yükselmesini engelleyecektir.
MiguelSlv

Sadece I hariç vardı aynı sorun dan güncellemek zorunda 2.0.0için2.0.1
Rory McCrossan

12

Repro adımlarınıza göre, uygulamanın özelliğindeki çıkış yolunu değiştirmenin, uygulamayı oluşturduktan sonraki tek değişikliğiniz olduğunu varsaydım. Bu değişikliğin yaptığı tek şey, Visual Studio'ya MSBuild'in çıktı derlemelerini yeni klasöre koymasını söylemesidir. Ancak çalışma zamanında ASP.Net, \ bin klasörü yerine bu yeni klasördeki derlemeleri yüklemesi gerektiği konusunda hiçbir fikre sahip olmaz.

Bu yanıt , bir WebApi uygulamasının derleme çıktı dizinini değiştirme yolunu gösterir. Bu yayında gösterilen aynı hatayı almak için, web.config dosyasındaki <system.codedom> bölümünün tamamını yorumlamanız gerekir. Ve sonra çıkış yolunu değiştirmek için talimatları takip edebilirsiniz.

Başvurunuzu aldıktan sonra, <system.codedom> bölümünü açabilirsiniz. Uygulamanızda C # 6 yeni sözdizimini kullanmazsanız, Microsoft.CodeDom.Providers.DotNetCompilerPlatform uygulamasını uygulamanızdan kaldırabilirsiniz; aksi takdirde, derleme sonrası etkinliğinize aşağıdaki komut satırını eklemek isteyebilirsiniz,

xcopy /Q /Y "$(TargetDir)roslyn\*.*" "$(TargetDir)..\roslyn\"

Yeni CodeDom sağlayıcısı her zaman \ bin içinde "\ roslyn" klasörünü arar. Yukarıdaki komut geçici bir çözüm olarak çalışır ve \ roslyn klasörünü yeni çıktı klasörünüzden \ bin klasörüne kopyalar.

Deneylerimde, Visual Studio'nun yayımlama aracı, çıkış yolu ayarımdan bağımsız olarak, çıktı derlemelerini dağıtım konumundaki \ bin klasörüne yayımladı. Sanırım başvurunuz hala gerçek dağıtım üzerinde çalışmalıdır.


10

Kolay yol - Proje> NuGet Paketlerini Yönet ...> Arama girişinde Gözat (sekme)> şunu ayarlayın: Microsoft.CodeDom.Providers.DotNetCompilerPlatform

Bu derleyiciyi yükleyebilir veya güncelleyebilir veya kaldırabilir ve yükleyebilirsiniz.

DotNetCompilerPlatform


8

Başka bir olası çözüm:

Visual Studio Örneğinizi Yönetici Haklarıyla Yeniden Başlatın

resim açıklamasını buraya girin


4

Üretim sunucusunda yayınlandıktan sonra durdu. Bu hatayı bana göstermesinin nedeni, bir alt klasöre dağıtılmış olmasıydı . IIS'de alt klasöre sağ tıkladım ve "Uygulamaya dönüştür" i ekledim ve bundan sonra çalıştı.


İhtiyacım olan tek şey uygulamaya dönüştür. (Daha önce yayınlanmamış yeni bir projeydi.)
Patrick

Bir alt klasör kullanmak da benim sorunumdu, bu yüzden temel klasöre taşındım ve işler çalışmaya başladı.
J_L

4

Benim durumumda, uygulama klasörünün iznini değiştirdiğimde ve IIS_IUSRS hesabının kaldırıldığı zaman bu oldu. Uygulama klasörüne IIS_IUSRS'i (IIS Yöneticisi-> YourWebApp -> İzni Düzenle -> IIS_IUSRS Ekle) yeniden ekledikten sonra çalıştı.


IUSR izinlerini ekledim, ancak yeterli değildi. "IIS_IUSRS" i eklemek zorunda kaldım ve işe yaradı.
zacharydl

3

İşte nasıl çözdüm :

  1. Silinen binproje dizininde klasör.
  2. Tıklayın Build Solution. In VS2017 (Yönetici olarak çalıştır)> Build'a> Yapı Çözümü .

3

Git kullanıyorsanız, büyük olasılıkla taahhütte .dll yoksayıyorsunuz


2

Çözümde bir dizi projem vardı ve web projesi (bu hatayı veren problem) StartUp projesi olarak ayarlanmadı. Bu web projesini StartUp projesi olarak ayarladım ve "Debug" -> "Debugging'i başlat" menü öğesini tıkladım ve işe yaradı. Hata ayıklamayı bıraktım ve sonra tekrar denedim ve şimdi geri çalışıyor. Tuhaf.


2

Sonra sorun geri geldi. Hem kaldırıldı Microsoft.CodeDom.Providers.DotNetCompilerPlatformve Uninstall-package Microsoft.Net.Compilersancak hiçbir yardım. Sonra yüklendi - yardım yok. Proje temizlendi ve yardım yapılmadı. Yeniden başlatılan sunucu yardım yok.Daha sonra projenin şu anda 1.0.5 olan en son sürümüne ihtiyaç duymadığını fark ettim, çünkü hata 1.0.3 sürümünü yükleyemedi. Bu yüzden bunun yerine o dll sürümünü yükledim ve şimdi çalışıyor.


1

ASP.NET bin/debugdiğer uygulama türleri gibi derlemeler için bölme altında herhangi bir alt klasör aramaz . Aşağıdaki yapılandırmayı kullanarak çalışma zamanına farklı bir yere bakmasını bildirebilirsiniz:

<configuration>
   <runtime>   
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <probing privatePath="bin;bin\Debug;bin\Release"/>
      </assemblyBinding>
   </runtime>   
</configuration>

1

Projenizdeki "Microsoft.CodeDom.Providers.DotNetCompilerPlatform" ve "Microsoft.Net.Compilers" paketlerini güncellemelisiniz.


1

Benim durumumda, 4.5.2'de Web Uygulamam ve 4.6.1'de atıfta bulunulan sınıf libariesim olduğunda hatayı aldım. Web Uygulamasını 4.5.2 sürümüne güncellediğimde hata ortadan kalktı.


Umbraco 8'i yüklerken yanlış
hatayı aldım

1

Uygulama havuzu kullanıcısı ApplicationPoolIdentity olarak ayarlandığından bu hatayı alıyordum. Klasöre erişimi olan bir kullanıcı / hizmet hesabıyla değiştirdim ve hata giderildi.


1

İşte bulgularım. Bu sorunla bugün sabah karşılaştım. Geçerli kullanıcıyı, uygulamanın çalıştığı uygulama havuzuna ekledim.

Adımlar:

  1. IIS'yi aç

  2. Uygulama havuzuna tıklayın

  3. Sorun yaşadığınız uygulama havuzunuzu seçin

  4. Sağ Tıklama -> gelişmiş ayarlar

  5. Kimliğin yanındaki üç nokta simgesine tıklayın

  6. Şimdi özel hesap seçin

  7. PC'nize kullanıcı adı ve Parola verin

  8. Kayıt etmek

Uygulamanızı yenileyin .. ve çalışmaya başlayacaktır. DLL erişim için bazı güvenlik sorunu vardı.


1

paketi aşağıdaki komuttan paket yöneticisi konsolundan kaldırmanız yeterlidir

PM> Microsoft.CodeDom.Providers.DotNetCompilerPlatform paketini kaldırın

PM> Microsoft.Net.Compilers paketini kaldırın

ve sonra tekrar nuget yöneticisinden yükleyin resim açıklamasını buraya girin


1

Microsoft.CodeDom.Providers.DotNetCompilerPlatformPaketi yakın zamanda yüklediyseniz veya güncellediyseniz, projenizde belirtilen paketin sürümlerinin bu paketin doğru ve aynı sürümünü gösterdiğini iki kez kontrol edin:

  • İçinde ProjectName.csproj, için bir <Import>etiket Microsoft.CodeDom.Providers.DotNetCompilerPlatformbulunduğundan ve doğru sürümü gösterdiğinden emin olun.

  • İçinde ProjectName.csproj, için bir <Reference>etiket Microsoft.CodeDom.Providers.DotNetCompilerPlatformbulunduğundan ve hem Includeözellikte hem de alt öğede doğru sürüme işaret ettiğinden emin olun <HintPath>.

  • Bu projelerde web.config, <system.codedom>etiketin mevcut olduğundan ve alt <compiler>etiketlerinin typeözniteliklerinde aynı sürüme sahip olduğundan emin olun .

Nedense, benim durumumda 1.0.5 1.0.8 bu paketin yükseltme neden <Reference>etiketini .csprojonun için Includeeski sürüm 1.0 işaret. 5 (Paketi yükselttikten sonra silinen vardı), fakat her şey yeni ve doğru sürüm 1.0 işaret ediyordu 0,0. 8 .0.


1

Projenizin tamamen inşa edildiğinden emin olun!

'Çıktı' sekmesini tıklayın ve aşağıdaki gibi bir şeye sahip olmadığınızdan emin olun:

========== Tümünü Yeniden Oluştur: 14 başarılı, 1 başarısız, 0 atlandı =========

Ve binklasörünüzü açın ve güncel olup olmadığını kontrol edin.

İlk başta yoksaydım, onlar yapı kırma ve orada kopyalanan hiçbir DLL'lere yol açan unutmadan bir sürü daktilo hataları vardı.



1

Benim durumumda, web projem düzgün yüklenmedi (proje kullanılamıyordu), sonra görsel stüdyomu yönetici modunda açtıktan sonra web projemi yeniden yüklemek zorunda kaldım, sonra her şey iyi çalıştı.


0

Aynı problemi yaşadım ve bunun nedeni proje konumunu taşıdım ve sadece sanal dizini yeniden oluşturmanız gerekti.


0

Karşılaştığımız istisna yerel değildi, ancak uzak sunucuda, Azure CI bunu paketleri klasöründen okuyordu, ancak yukarıda belirtilen derleyici sürümleri bulunamadı.

Bunu düzeltmek için proje dosyasını değiştirdik.

Burada ortam değişkenlerine doğrudan atıfta bulunan paketlerden hiçbirine atıfta bulunulmaz.

Bu sorunu düzeltti, ancak bizim durumumuzda paketleri doğrudan "package.config" den kullanmıyoruz, bunun yerine ekipler arasında sürüm bütünlüğünü korumak için ayrı bir klasörümüz var.


0

Başlat komutundan inetmgr'ye gidin IIS yönetici konsolunda Varsayılan Web Sitesi altındaki uygulama klasörünü seçin, o klasöre sağ tıklayın ve ardından Uygulamaya Dönüştür. Etkinleştirerek .asmx dosyasını çalıştırın Sorunu çözdü


0

BINKlasörün dosyalara tamamen yüklenip yüklenmediğini veya eksik olup olmadığını kontrol edin .


Ben de aynı sorunla karşı karşıyayım, asp.net için oldukça yeni
Prashant Pimpale

0

Bu hatayla ilgili olarak denedim:

  • Projenin temizlenmesi ve yeniden yapılması
  • Projenin boşaltılması ve yeniden yüklenmesi
  • Hedef Çerçeveyi Değiştirme
  • Çıktı yolunu değiştirme
  • GAC'ye külçe ekleme
  • Paketleri silme uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform uninstall-package Microsoft.Net.Compilersve tekrar yükleme.

Bunların hepsi geçerli çözümler gibi görünse de , sadece yeni hatalar üretebildim ve sonunda, bazı referanslar / nugetler eksik olduğunda hata görüntülenebilir.

Benim durumumda, yakın zamanda Microsoft Office'i yeniden yükledim ve Microsoft.Office.Core gibi derlemelere başvuruyordum. Yeni kurulum gerekli paketleri içermiyor gibi görünüyordu, bu da benim çözümümün doğru bir şekilde yapılamamasını sağladı.

Kodumu Microsoft.Office'e başvurmam gerekmediği noktaya kadar çalıştırarak bu sorunu çözebildim, ancak gerekli paketleri arayarak ve buna göre yükleyerek çözebilirdim.

Visual Studio'dan belirsiz bir hata mesajı gibi görünüyor.


0

Bir proje üzerinde çalışıyorsanız ve bu şimdi bir hata olarak ortaya çıktı. Bilgisayarınızı (veya benim durumumda sunucuyu yeniden) bu benim için sorunu çözdü.

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.