Aracılığıyla paylaş


MSB3482 tanılama kodu

Bu makalede MSB3482 hata kodu açıklanmaktadır.

İleti metni

MSB3482: An error occurred while signing:

Açıklama

Bu hata, MSBuild, SignFile görevini çalıştırırken bir çıkış dosyasını imzalamaya çalıştığında bir hatayla karşılaştığında oluşur.

Çözüm

İlk olarak, imza dosyasının var olduğunu onaylayın. Ardından, imzalama aracının yüklü olduğundan emin olun (araç Visual Studio'nun bir parçası olarak yüklenir).

Standart çıkış iletisi metninin ardından imzalama aracından ek bilgiler eklenir. Sorunun nedenini belirlemek için ek bilgilere bakın. Hatada seçenek gibi /fd desteklenmeyen bir seçenekten bahsediliyorsa sisteminizde signtool.exe dosyasının eski bir sürümü olabilir. İşlem dosyanın eski veya desteklenmeyen sürümüyle karşılaştığında, MSBuild bu hata iletisini döndürür.

MSBuild, Visual Studio veya .NET SDK yüklemesinde aracın sürümüyle çalışır. Sorunun düzeltmesi sizin özel durumunuzla bağlıdır. Bazı olası çözümler aşağıda verilmiştir:

  • PATH ortam değişkenini düzenleyin ve dizinleri yeniden sıralayın
  • signtool.exe aracının eski sürümünü kaldırma, yeniden adlandırma veya başka bir şekilde gizleme
  • Windows SDK'sının eski bir sürümünü güncelleştirme gibi aracı içeren yazılım paketini kaldırın veya güncelleştirin

Geçersiz parmak izi veya sertifika

Parmak izi geçersizse, bir şifreleme hatası tetikler ve MSB3482 hatasını görebilirsiniz. CertificateThumbprint parametresinin SignFile görevine ait dize değerini kontrol edin. Sertifika parmak izi, sertifikanın SHA-1 karmasıdır. Daha fazla bilgi için bkz. Güvenilen kök CA sertifikasının SHA-1 karmasını alma. Parmak izini sertifika ayrıntılarından kopyalayıp yapıştırırsanız, görevin sertifikayı bulmasını engelleyebilecek fazladan (3F) görünmez karakteri eklemediğinizden SignFile emin olun.

Test sertifikalarının süresi bir süre sonra dolar. Yeni bir sertifika oluşturmanız gerekebilir. Daha fazla bilgi için bkz. Uygulama ve dağıtım bildirimlerini imzalama. Visual Studio 2019 veya sonraki sürümlerde daha yeni .NET projeleri için bkz. ClickOnce kullanarak .NET Windows Masaüstü uygulaması dağıtma.

Programı bir işlem hattındaki betik gibi etkileşimli olmayan bir ortamda çalıştırdığınızda, komut satırı aracı certutil kullanarak bir sertifika oluşturabilirsiniz:

certutil –f –p [certificate_password] –importpfx <path to pfx file>

Şunlar için geçerlidir:

MSBuild'in tüm sürümleri