Ao salvar a DLL em outro diretório, e ao adicionar uma referência a ela no projeto SistemaInterno aparece uma mensagem de erro que diz que o objeto de referência é imutável.
Ao salvar a DLL em outro diretório, e ao adicionar uma referência a ela no projeto SistemaInterno aparece uma mensagem de erro que diz que o objeto de referência é imutável.
Murilo, bom dia.
Você poderia mostrar com mais detalhes a mensagem? Qual a versão do VS que você está utilizando:
Exceutei os passos no VS 2022 e 2019 e funcionou, verifique a permissão da pasta onde você salvou a dll.
Murilo,
Objetos imutáveis funcionam desta forma:
==========================================================
Objetos imutáveis de forma mais fácil no C# 6 e VB 12
25 AGO 2014 - 2 MIN(S) DE LEITURA
Um problema comum na programação .NET com C# e VB é a quantidade de código repetitivo necessário para implementar objetos imutáveis. Diferentemente de uma classe normal, uma classe imutável necessita que cada propriedade possua um tipo definido de forma explícita e um construtor específico.
De forma a lidar com este problema, em uma especificação preliminar as linguagens C# e VB ganham o que está sendo chamado de "record class". Este novo recurso é essencialmente uma classe imutável definida unicamente pelo seu construtor. Veja um exemplo dessa especificação:
public record class Cartesian(double x: X, double y: Y);
Além do construtor, o compilador criará automaticamente:
var x1 = new MyRecord(1, 2, 3);
var x2 = x1 with B: 16;
Console.WriteLine(x2) // prints something like "A = 1, B = 16, C = 3"
https://www.infoq.com/br/news/2014/08/Record-Class/
==========================================================
Boa a explicação do veterano de StackOverflow, o Maniero:
O que "imutável" realmente significa?
https://pt.stackoverflow.com/questions/15510/o-que-imut%C3%A1vel-realmente-significa
==========================================================
[]'s,
Fabio I.
Aqui acontece o mesmo erro, usando VS 2022 Community e com acesso de administrador.
Consegui resolver o problema criando uma classe dentro do program.cs e criando uma instância de ContaCorrente antes de tentar adicionar a referência. Por que deu certo? Não sei...
using ByteBank.Modelos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Teste
{
class Program
{
static void Main(string[] args)
{
ContaCorrente conta = new ContaCorrente(123, 4567);
Console.WriteLine(conta.Numero);
Console.ReadLine();
}
}
}