Pergunta

Solução do Visual Studio arquivos contêm dois GUID por entrada de projeto.Eu acho que um deles é do AssemblyInfo.cs

Alguém sabe com certeza onde estes vêm, e para que eles são usados?

Foi útil?

Solução

Nem GUID é o mesmo GUID como de AssemblyInfo.cs (que é o GUID para a montagem própria, não vinculado ao Visual Studio, mas o produto final de compilação).

Assim, para uma típica linha na sln arquivo (abrir o .sln no bloco de notas ou o editor de opção se você quiser ver isso):

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleSandbox", "ConsoleSandbox\ConsoleSandbox.csproj", "{55A1FD06-FB00-4F8A-9153-C432357F5CAC}"

Segundo o GUID é um GUID exclusivo para o projeto em si.O arquivo de solução usa isto para mapear outras configurações para que o projeto:

GlobalSection(ProjectConfigurationPlatforms) = postSolution
    {55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection

O primeiro GUID é, na verdade, um GUID é o GUID exclusivo para a solução em si (eu acredito).Se você tiver uma solução, com mais de um projeto, você vai realmente ver algo como o seguinte:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleSandbox", "ConsoleSandbox\ConsoleSandbox.csproj", "{55A1FD06-FB00-4F8A-9153-C432357F5CAC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Composite", "..\CompositeWPF\Source\CAL\Composite\Composite.csproj", "{77138947-1D13-4E22-AEE0-5D0DD046CA34}"
EndProject

Outras dicas

De acordo com MSDN:

[O Project] instrução contém o projeto único GUID e o projeto GUID de tipo.Esta informação é usada por o ambiente para encontrar o projeto arquivo ou arquivos pertencentes ao solução, e o VSPackage necessário para cada projeto.O projeto GUID é passou para IVsProjectFactory para carregar específicos VSPackage relacionadas com o projecto e, em seguida, o projeto é carregado por o VSPackage.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top