O download da DLL.NET está disponível em https://nfe.vinco.com.br/NFe/Versions/InterOp/220/Vinco.iContNFe.NFeIntegratorInterOpCOMLess.dll

Ela deve ter sua referência anexa a seu projeto .NET, como demonstrado abaixo: 

1. Clique com o botão direito sobre o projeto.

2. Selecione a opção Add => Reference (Em inglês).

img1 net

 

Em seguida:

3. Clique em "Browse"

4. Indique o local onde está a DLL. 

img2 net

 

5. Clique em "OK" para confirmar a inclusão.

img3 net

 

Abaixo, segue um exemplo utilizado para emissão de uma nota. Caso precise de mais informações, acesse a nossa documentação disponível em: 

https://ajuda.vinco.com.br/NFeCreatorInterOpDoc2/html/N_Vinco_iContNFe_NFeIntegratorInterOp.htm ou entre em contato com o nosso canal de suporte: O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.:

try
{
    NFeIntegrator oNFe = new NFeIntegrator(); //Equivale a linha do 'new COM('NFeIntegratorInterOp.NFeIntegrator');

    //Informa o local onde os caches serão mantidos, o cache é excencial para emissão
    //em contingencia. É interessante no caso do uso de IIS, separar o cache em pastas
    //diferentes entre as aplicações web, pois o cache de regras é por empresa.
    oNFe.CacheFolder = AppDomain.CurrentDomain.BaseDirectory;

    //Seta o IdKey Empresa, esta propriedade permite setar qual empresa vai emitir NFe
    //o uso dessa propriedade elimina o uso do arquivo Empresa.Config, este valor é encontrado no portal do iContNFe, no cadastro de empresas.
    oNFe.IdKeyEmpresa = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

    //Define que DLL esta em modo normal de emissão, esse modo não esta relacionado diretamente com a contingencia da NFe
    oNFe.Contingencia = false;

    //Define se os erros serão //lançados// para o programa chamador
    //ou se eles retornarão na propriedade Error das interfaces de retorno
    //Se utilizado como True, o erro aparecerá no `On Erro Goto`
    oNFe.Throwable = true;

    //Inicializa a DLL de InterOp
    oNFe.Start();

    //Set o IdKey do sistema
    //Este valor é contrado no Config Extractor no cadastro de sistemas.
    oNFe.SetIdKeySistema("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");

    //Set de configurações de emissão: ambiente, impressão, finalidade, tipo de emisão
    oNFe.SetEnvironment(2, 1, 1, 1);

    //Set do tipo de nota, entrada ou saida
    oNFe.SetTipoNota(1);

    //Set do endereço no file system onde as NFe//s autorizadas serão armazenadas
    oNFe.EnderecoAutorizada = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Autorizada");

    //Define no numero de copias que serão impressas
    oNFe.SetNumeroCopias(1);

    //Define se a DLL imprimirá diretamenta para a impressão Padrão do windows
    oNFe.PrintToDefaultPrinter = false;

    oNFe.ClearParams();

    //No exemplo utlizado, existe somente 1 filtro:
    //- um com o numero da Nota Fiscal no sistema
    //Os filtros devem ser alimentados na mesma ordem que eles foram criados
    //no ConfigExtractor

    //Adiciona o valor no filtro
    oNFe.AddParams("081988");

    IRetornoAutorizar retorno = oNFe.Autorizar();

    IErroXSD[] erros = oNFe.GetErroXSD();
    if (erros != null && erros.Length > 0)
    {
        for (int i = 0; i < erros.Length; i++)
        {
            MessageBox.Show(erros[i].Descricao, erros[i].Titulo, MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

    if (retorno.cStat == 100)
    {
        //Se o cStat for igual a 100 isso indica que a nota foi autorizada com sucesso
        //nesse momento podemos armazenar todos os dados no sistema
        //retorno.ChaveNFe -> Chave da NFe
        //retorno.DataRecebimento -> Data da Autorização
        //retorno.Protocolo -> numero do protocolo
        //retorno.XMLProc -> XML da NF-e com o protocolo de autorização
        //retorno.PDF -> Binario com o PDF
        MessageBox.Show("Protocolo: " + retorno.Protocolo);

        //Verifica se deu erro no envio do email, como o email só em viando no caso da NF-e que autorizada
        //só é necessario veirificar aqui
        //esse erro não interfere no processo de autorização
        if (!string.IsNullOrEmpty(retorno.ErrorEnvioEmail))
        {
            MessageBox.Show("Erro no email: " + retorno.ErrorEnvioEmail);
        }
    }
    else
    {
        //Caso contrario indica qual foi o motivo da rejeição.
        MessageBox.Show("Mensagem: " + retorno.xMotivo);
    }
}
catch (ApplicationException ex)
{
    MessageBox.Show(ex.Message, "ApplicationException", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
    MessageBox.Show(string.Format("{0}", ex), "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}