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.