Como: acessar recursos em DLLs de satélite
Depois que você tiver criado uma DLL de satélite e adicionar recursos a ela (ícones, bitmaps, seqüências de recursos e assim por diante), esses recursos agora são disponibilizados para o seus add-ins e outros projetos de automação.O procedimento a seguir demonstra como fazer isso.
Observação |
---|
Caixas de diálogo e comandos de menu que você vê podem diferir das descritas no Help dependendo de suas configurações ativas ou edição. Esses procedimentos foram desenvolvidos com o General Development Settings ativo.Para alterar as configurações, escolha importação e Exportarconfigurações sobre o Ferramentas menu.Para obter mais informações, consulte Configurações de Visual Studio. |
Acessando recursos da DLL de satélite
Abrir Visual Studio e carregar um suplemento do projeto existente ou criar um novo.
Adicione o seguinte exemplo de código, compile e execute-o.
Exemplo
A seguir está o algoritmo geral Visual Studio usa para encontrar uma DLL de satélite.Você pode usar este código para certificar-se de que o satélite DLL corretamente é criado, no local certo e tem o nome do recurso que você espera.
static void Main(string[] args)
{
string path = @"<some path here>";
System.Reflection.Assembly asm =
System.Reflection.Assembly.LoadFrom(path);
// For enhanced security, use the LoadFrom overload
// System.Reflection.Assembly.LoadFrom(path, securityInfo);
// where securityInfo is an instance of an Evidence object.
System.Reflection.Assembly assemblyForResources =
asm.GetSatelliteAssembly(System.Threading.
Thread.CurrentThread.CurrentCulture);
System.IO.Stream stream =
assemblyForResources.GetManifestResourceStream
(assemblyForResources.GetManifestResourceNames()[0]);
ResourceReader resReader = new ResourceReader(stream);
foreach (System.Collections.DictionaryEntry entry in resReader)
{
System.Windows.Forms.MessageBox.Show(entry.Key.ToString());
}
}
Compilando o código
Para usar esse exemplo, crie um Visual C# aplicativo de console, adicione este código em lugar da função Main () e defina a variável de caminho para o caminho do assembly suplemento (não o caminho para a DLL satélite).Quando executado, você verá todos os recursos disponíveis a DLL satélite.