ClientBuildManagerParameter.StrongNameKeyContainer Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur kontainer kunci yang digunakan selama kompilasi.
public:
property System::String ^ StrongNameKeyContainer { System::String ^ get(); void set(System::String ^ value); };
public string StrongNameKeyContainer { get; set; }
member this.StrongNameKeyContainer : string with get, set
Public Property StrongNameKeyContainer As String
Nilai Properti
Nilai String untuk kontainer kunci.
Contoh
Contoh kode berikut mirip dengan contoh kode yang ditemukan di ClientBuildManager gambaran umum kelas kecuali bahwa rakitan yang dihasilkan akan memiliki nama yang kuat berdasarkan kontainer kunci yang disediakan. Ini akan dikombinasi terlebih dahulu sesuai dengan nilai yang disediakan PrecompilationFlags .
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.Compilation;
using System.Security;
using System.Security.Permissions;
namespace PrecompBuildSystem
{
[PermissionSet(SecurityAction.Demand, Unrestricted = true)]
public class PrecompBuilder
{
private static ClientBuildManager builder;
private static String _vPath; // Virtual
private static String _pPath; // Physical
private static String _tPath; // Target
private static PrecompilationFlags _flags;
private static ClientBuildManagerParameter _cbmParameter;
private static String _keyContainer;
public static void Main(string[] args)
{
// Check arguments.
if (ValidateAndSetArguments(args))
{
_cbmParameter = new ClientBuildManagerParameter();
_cbmParameter.PrecompilationFlags = _flags;
_cbmParameter.StrongNameKeyContainer = _keyContainer;
builder = new
ClientBuildManager(_vPath, _pPath, _tPath, _cbmParameter);
// Pre-compile.
if (Precompiler())
{
Console.Write("Build succeeded. Result is at " + _tPath + ".");
}
}
}
private static bool ValidateAndSetArguments(string[] args)
{
try
{
if (args.Length > 0)
{
_vPath = args[0];
}
else
{
_vPath = (string)AppSettingsExpressionBuilder.GetAppSetting
("virtualDirectory");
}
if (args.Length > 1)
{
_pPath = args[1];
}
else
{
_pPath = (string)AppSettingsExpressionBuilder.GetAppSetting
("physicalDirectory");
}
if (args.Length > 2)
{
_tPath = args[2];
}
else
{
_tPath = (string)AppSettingsExpressionBuilder.GetAppSetting
("targetDirectory");
}
if (args.Length > 3)
{
string[] precompFlags = args[3].Split('|');
foreach (string flag in precompFlags)
{
_flags |= (PrecompilationFlags)Enum.Parse
(typeof(PrecompilationFlags), flag.Trim());
}
}
else
{
_flags = PrecompilationFlags.Clean |
PrecompilationFlags.ForceDebug;
}
if (args.Length > 4)
{
_keyContainer = args[4];
}
return true;
}
catch (Exception e)
{
OutputErrorList(e);
}
return false;
}
private static void OutputErrorList(Exception e)
{
Console.Write("Error: " + e.Message);
}
private static bool Precompiler()
{
try
{
builder.PrecompileApplication();
// The precompilation was successful.
return true;
}
catch (Exception e)
{
OutputErrorList(e);
}
// The precompilation failed.
return false;
}
}
}
Imports System.Web.Compilation
Imports System.Security
Imports System.Security.Permissions
Namespace PrecompBuildSystem
<PermissionSet(SecurityAction.Demand, Unrestricted:=true)> _
Public Class PrecompBuilder
Private Shared builder As ClientBuildManager
Private Shared _vPath As String ' Virtual
Private Shared _pPath As String ' Physical
Private Shared _tPath As String ' Target
Private Shared _flags As PrecompilationFlags
Private Shared _cbmParameter As ClientBuildManagerParameter
Private Shared _keyContainer As String
Public Shared Sub Main(ByVal args As String())
' Check arguments.
If (ValidateAndSetArguments(args)) Then
_cbmParameter = New ClientBuildManagerParameter()
_cbmParameter.PrecompilationFlags = _flags
_cbmParameter.StrongNameKeyContainer = _keyContainer
builder = New ClientBuildManager(_vPath, _pPath, _tPath, _cbmParameter)
' Pre-compile.
If (Precompiler()) Then
Console.Write("Build succeeded. Result is at " + _tPath + ".")
End If
End If
End Sub
Private Shared Function ValidateAndSetArguments(ByVal args As String()) As Boolean
Try
If (args.Length > 0) Then
_vPath = args(0)
Else
_vPath = AppSettingsExpressionBuilder.GetAppSetting("virtualDirectory")
End If
If (args.Length > 1) Then
_pPath = args(1)
Else
_pPath = AppSettingsExpressionBuilder.GetAppSetting("physicalDirectory")
End If
If (args.Length > 2) Then
_tPath = args(2)
Else
_tPath = AppSettingsExpressionBuilder.GetAppSetting("targetDirectory")
End If
If (args.Length > 3) Then
Dim precompFlags As String()
precompFlags = args(3).Split("|"c)
For Each flag As String In precompFlags
_flags = _flags Or [Enum].Parse(GetType(PrecompilationFlags), flag.Trim())
Next
Else
_flags = PrecompilationFlags.Clean Or PrecompilationFlags.ForceDebug
End If
If (args.Length > 4) Then
_keyContainer = args(4)
End If
Return True
Catch e As Exception
OutputErrorList(e)
End Try
Return False
End Function
Private Shared Sub OutputErrorList(ByVal e As Exception)
Console.Write("Error: " + e.Message)
End Sub
Private Shared Function Precompiler() As Boolean
Try
builder.PrecompileApplication()
' The precompilation was successful.
Return True
Catch e As Exception
OutputErrorList(e)
End Try
' The precompilation failed.
Return False
End Function
End Class
End Namespace
Keterangan
StrongNameKeyContainer Properti atau StrongNameKeyFile properti diberi nilai untuk membuat rakitan bernama kuat. Kedua nilai tidak perlu diatur untuk membuat rakitan bernama kuat.