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.