4
respostas

Ao tentar adicionar DDL ocorre um erro

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

Paulo,

Difícil essa...

... mas tenho uma pergunta.

Você copiou o arquivo gerado "bytebank_GeradorChavePix.dll" para dentro do diretório (pasta) do outro projeto em:

C:\ ... \bytebank_ATENDIMENTO\bin\Debug\net6.0

ou "\net7.0" conforme o que você está usando...

Se chamar direto da outra pasta pode ser que apareça um conflito.

De qualquer forma segue meu código da DLL, eu alterei um pouco do original:

namespace bytebank_GeradorChavePix;

/// <summary>
/// Classe que gera chaves PIX usando o formto GUID.
/// 
/// Marcas XML recomendadas para comentários de documentação
/// https://learn.microsoft.com/pt-br/dotnet/csharp/language-reference/xmldoc/recommended-tags
/// 
/// ATENÇÃO!
/// - NÃO ESQUEÇA DE CHECAR EM "PROPRIEDADES" / "CRIAR" / "SAÍDA" A OPÇÃO:
/// "ARQUIVO DE DOCUMENTAÇÃO" "GERAR UM ARQUIVO CONTENDO A DOCUMENTAÇÃO DA API."
/// </summary>
public static class GeradorPix
{
    /// <summary>
    /// Método que retorna uma chave aleatória de PIX.
    /// </summary>
    /// <returns>Retorna uma chave PIX no formato String.</returns>
    public static string GetChavePix()
    {
        return Guid.NewGuid().ToString();
    }

    /// <summary>
    /// Método que retorna uma lista de chaves aleatórias de PIX.
    /// </summary>
    /// <param name="numeroChaves">Quantidade de chaves a serem geradas.</param>
    /// <returns>Retorna uma chave PIX no formato String.</returns>
    public static List<string>? GetChavesPix(int numeroChaves)
    {
        if (numeroChaves <= 0)
        {
            return null;
        }
        else
        {
            List<string> chaves = new();

            for (int i = 0; i < numeroChaves; i++)
            {
                chaves.Add(Guid.NewGuid().ToString());
            }

            return chaves;
        }
    }
}

[]'s,

Fabio I.

Olá, Paulo! Bom dia,

Contribuindo aqui com o tópico:

Pela imagem que você compartilhou, ao tentar adicionar um DDL ocorre um erro. Esse tipo de problema pode ter diversas causas, mas uma das mais comuns é a falta de referência da biblioteca que contém o DDL em questão.

Uma solução para esse problema é verificar se a biblioteca que contém o DDL está referenciada corretamente no projeto em que você está trabalhando. Para fazer isso, basta clicar com o botão direito no projeto e selecionar a opção "Adicionar referência". Em seguida, procure pela biblioteca em questão e selecione-a.

Espero ter ajudado e bons estudos!

Olá Andre tudo bem ? o meu erro é muito parecido porem a frase é diferente : *O objeto de intenacia se criou como inalteravel *

como poderia resolver ? muito obrigado

Robson, bom dia! tudo blz?

O erro ocorre no momento de adicionar a dll também? ( não ficou claro para mim). Porém verifique o seguinte, que o erro "objeto de instância se criou como inalterável" em um projeto C# pode acontecer quando você tenta modificar um objeto que foi criado como "somente leitura".

Normalmente um objeto do tipo somente somente leitura é aquele que não pode ser alterado depois de criado. Isso pode ocorrer quando você declara um objeto como "readonly" em C# ou quando utiliza tipos de dados imutáveis.

Espero ter ajudado e bons estudos!