O que é o Microsoft.csharp.dll no .NET 4.0


Respostas:


193

É usado quando / se você usar a dynamicpalavra - chave em seu projeto. A montagem contém o fichário de tempo de execução C #.

O compilador C # foi essencialmente extraído em uma biblioteca para poder emitir, compilar e executar o código necessário para dar suporte à dynamicpalavra - chave. Na primeira vez em que você usar dynamicseu código, esse assembly (assim como System.dll, System.Core.dll e System.Dynamic.dll) será carregado no seu AppDomain.


3
Você gostaria de especular por que eles escolheram fazer referência por padrão? Todos nós devemos usar dynamicmuito mais do que atualmente (ou seja, nunca)?
mo.

4
@mo é semelhante à forma como eles são adicionados automaticamente using System.Linq;a todos os arquivos. Isso apenas torna os recursos mais novos do idioma um pouco mais perfeitos. Se você quiser usar dynamic, ele simplesmente funciona sem nenhum esforço de sua parte.
Matt Greer

16

Sempre o remova até o momento. Ainda não há problemas.


13
Se o seu projeto não usa a palavra-chave dinâmica, acho que está correto remover a linha que diz <Reference Include="Microsoft.CSharp" /> o arquivo .csproj.
Cheeso

Obrigado TomTom e @Cheeso. Eu estava tentando criar um .dll (Framework definido como 3.5) para usar com o Unity e removê-lo do arquivo .csproj fez o truque.
Wolfram

4
Essa "resposta" é mais apropriada como um comentário abaixo da pergunta. Embora sugira uma solução alternativa, na verdade não responde à pergunta de que serve a nova montagem.
toonice
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.