Destino .NET 3.5 C++/CLI no Visual Studio 2010 Beta 2
-
21-09-2019 - |
Pergunta
Alguém teve sucesso ao converter um projeto VS 2008 C++/CLI (vcproj) para um projeto VS 2010 (vcxproj), mantendo o .NET 3.5 como estrutura de destino?Não consegui fazer isso e fazer com que o projeto fosse construído com sucesso.O projeto compila perfeitamente no VS2008 como .NET 3.5 e no VS2010 como .NET 4.0, mas não consigo direcionar o .NET 3.5 em 2010.O IDE parece não fornecer uma opção para isso e modificar o arquivo vcxproj adicionando
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
faz com que a compilação falhe com o seguinte erro:
Error 1 error C1001: An internal error has occurred in the compiler.
De acordo com esse link, aparentemente há algumas diferenças nos compiladores usados entre o VS2008 e 2010, mas a edição manual do arquivo do projeto ainda foi sugerida como solução.Alguém tem alguma ideia sobre isso?
Solução
Obrigado pela dica sobre TargetFrameworkVersion.Funcionou para mim, mas infelizmente não ajuda você.
É fácil obter "erro interno do compilador" se você tiver alguns arquivos antigos (arquivos PCH, arquivos de objeto) feitos para outra versão do compilador C++ por aí.Você limpou tudo quando mudou a versão das ferramentas?
Outras dicas
Ao direcionar o .Net framework v3.5 e compilar usando o VS2010, às vezes você pode acionar o erro do vinculador C1001 devido ao VS2010 adicionar automaticamente uma referência ao System.Core durante a compilação.Isso não é explícito e não aparecerá em suas referências, mas sim durante o tempo de compilação.Você pode dizer ao VS para não adicionar os assemblies adicionando este elemento em seu PropertyGroup Globals:
<AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
Uau, a resposta para Relatório de bug de Brickner é devastador - a segmentação 3.5 não é suportada e não será corrigida!
Minhas próprias experiências estranhas com travamentos são que eles foram corrigidos ativando cabeçalhos pré-compilados, ainda mais estranho porque stdafx.h estava vazio, então não sei o que eles estão fazendo.
Instale este hotfix e seus problemas provavelmente desaparecerão: http://support.microsoft.com/kb/976656