Aracılığıyla paylaş


SignFile görevi

Belirtilen sertifikayı kullanarak belirtilen dosyayı imzalar. SignFile yalnızca ClickOnce dosyalarını imzalamak için tasarlanmıştır. Araç için signtool.exe sarmalayıcıdır ve genel amaçlı bir imzalama görevi değildir.

Parametreler

Aşağıdaki tabloda görevin parametreleri SignFile açıklanmaktadır.

SHA-256 sertifikalarına yalnızca .NET 4.5 ve üzeri olan makinelerde izin verildiğini unutmayın.

Uyarı

Visual Studio 2013 Güncelleştirme 3'te başlayarak, bu görevin dosya için hedef çerçeve sürümünü belirtmenize olanak tanıyan yeni bir imzası vardır. MSBuild işlemi yalnızca hedef çerçeve .NET 4.5 veya üzeri olduğunda SHA-256 karmalarını kullandığından, mümkün olduğunda yeni imzayı kullanmanız önerilir. Hedef çerçeve .NET 4.0 veya altındaysa SHA-256 karması kullanılmaz.

Parametre Açıklama
CertificateThumbprint Gerekli String parametresi.

İmzalama için kullanılacak sertifikayı belirtir. Bu sertifika geçerli kullanıcının kişisel deposunda olmalıdır.
SigningTarget Gerekli ITaskItem parametresi.

.exe veya .dll türündeki sertifikayla imzalayacak dosyaları belirtir.
TimestampUrl İsteğe bağlı String parametre.

Zaman damgalama sunucusunun URL'sini belirtir.
TargetFrameworkVersion Hedef için kullanılan .NET Framework sürümü.

Açıklamalar

Yukarıda listelenen parametrelere ek olarak, bu görev parametreleri sınıfından Task devralır. Bu ek parametrelerin ve açıklamalarının listesi için bkz . Görev temel sınıfı.

SignFile, aracı yolda bulmak için Visual Studio veya Windows 8.1 SDK'sının signtool.exe yüklenmesini gerektirir. Yalnızca derleme araçlarının yüklü olduğu CI/CD senaryolarında kullanılamaz.

Örnek

Aşağıdaki örnek, öğe koleksiyonunda FilesToSign belirtilen dosyaları özelliği tarafından CertificateThumbprint belirtilen sertifikayla imzalamak için görevini kullanırSignFile.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <FileToSign Include="File.exe" />
    </ItemGroup>
    <PropertyGroup>
        <Certificate>Cert.cer</Certificate>
    </PropertyGroup>
    <Target Name="Sign">
        <SignFile
            CertificateThumbprint="$(CERTIFICATE_THUMBPRINT)"
            SigningTarget="@(FileToSign)"
            TargetFrameworkVersion="v4.5" />
    </Target>
</Project>

Not

Sertifika parmak izi, sertifikanın SHA-1 karmasıdır. Buradaki örnekte parmak izini içeren bir ortam değişkeni CERTIFICATE_THUMBPRINT varsayılmıştır. Daha fazla bilgi için bkz . Güvenilen kök CA sertifikasının SHA-1 karması alma. Parmak izini sertifika ayrıntılarından kopyalayıp yapıştırırsanız, ek (3F) görünmez karakteri eklemediğinizden emin olun; bu, sertifikanın bulunmasını engelleyebilir SignFile .

Ayrıca bkz.