Estou tentando carregar meu site e estou recebendo esta mensagem de erro:
Atributo não reconhecido 'targetFramework'. Observe que os nomes dos atributos diferenciam maiúsculas de minúsculas.
<compilation debug="true" targetFramework="4.0">
O site funciona bem no meu PC local, mas não abre quando eu carrego no meu host e tentei visualizá-lo online.
Respostas:
Isso normalmente acontece quando você tem um atributo
targetFramework="4.0"
no web.config, mas o pool de aplicativos está definido para executar o ASP.NET 2.0. OtargetFramework
atributo é totalmente não reconhecido pelo ASP.NET 2.0 - portanto, alterá-lo para 2.0 não terá o efeito desejado.Entre em contato com o Suporte / Seu administrador e mude o AppPool para 4.0.
Você também pode remover o atributo completamente; no entanto, se o seu site foi codificado com o 4.0 Framework, tenho certeza de que alguma outra coisa também causará um erro.
fonte
O registro da estrutura no IIS foi o que funcionou para mim:
fonte
No IIS
Clique em Pools de aplicativos
Clique com o botão direito do mouse em DefaultAppPool --- >> Definir padrão do pool de aplicativos ....--- >> Altere a versão .Net para V 4.0.
fonte
abra o IIS (digite inetmgr em execução) e altere a configuração do pool de aplicativos. Para exibir esta imagem grande, clique com o botão direito do mouse na imagem e abra a imagem em uma nova guia
fonte
No menu do Visual Studio:
fonte
Eu estava enfrentando o mesmo problema ao publicar meus primeiros serviços da web. Eu resolvi isso simplesmente fazendo o seguinte:
Espero que funcione.
fonte
para o IIS 7, tente de acordo com a imagem fornecida ... marque-me como útil se funcionar para você.
fonte
Eu tive que registrar o ASP.Net no IIS para resolvê-lo no Windows Server 2008 R2. Capturas de tela dos comandos abaixo
fonte
Altere o pool de aplicativos para direcionar a estrutura 4.0 em vez da clássica.
fonte
Estou usando o IIS Express, em vez do IIS.
O problema estava no arquivo applicationhost.config localizado em: {solution_folder} \. Vs \ config \ applicationhost.config.
Uma das entradas do pool de aplicativos tinha um valor managedRuntimeVersion de "v2.0". Mudei para "v4.0" e funcionou corretamente.
Tenho certeza de que a causa raiz foi um dos pacotes NuGet que eu havia instalado recentemente.
fonte
Abra Projeto -> pressione Shift + F4 (Abrir página de propriedades) -> Escolha Build -> no Target Framework escolha .NET Framework 4 -> OK
fonte
Crie um novo pool selecionando .Net Framework v4.0.3xxxxx
use o modo Gerenciar pipeline: integrado
Atribua-o ao seu site e pronto.
fonte
Para corrigir esse problema, clique no ícone Versão do ASP.NET na seção Ferramentas do Site do Painel de Controle para mudar a estrutura para 4.0.
fonte
Eu tive esse erro de uma compilação com falha do MSBuild , em um arquivo de projeto convertido de uma versão anterior do VS para o VS2010 e .NET 4.0. Na verdade, era um projeto de implantação da Web, e a solução que funcionou para mim foi adicionar as seguintes entradas na seção PropertyGroup no início do arquivo MSBuild :
Talvez eles sejam atualizados automaticamente quando outros tipos de projeto são convertidos no VS2010, mas estavam ausentes no meu arquivo de projeto de implantação da Web após a conversão.
fonte
O que fiz: alterei o valor do Pool de aplicativos para DefaultAppPool a partir de um valor anterior. Você faz isso nas Configurações avançadas (Site -> Gerenciar site -> Configuração avançada>.
fonte
Eu também tive o mesmo problema ao executar meu aplicativo localmente, o que aponta para o .NET Framework 4.7.1. O erro foi " Atributo não reconhecido TargetFrameWork ", como mostrado abaixo.
Mas nenhuma das respostas acima me ajudou. Finalmente, quando alterei meu número da porta atual (1413) para outro valor (60179), como mostrado abaixo, funcionou bem para mim. Mas não tenho certeza do motivo real por trás disso, mas funcionou.
fonte
Só tive isso no VS 2010.
Corrigido editando o arquivo .sln e alterando o TargetFrameworkMoniker para ter o valor ".NETFramework, versão% 3Dv4.0" atribuído a ele.
fonte
Se você compilar os arquivos e o valor de "targetFramework" for definido como sendo uma versão específica, ou seja, 4.0,
Verifique se o host está executando a estrutura .net como a mesma versão declarada.
Caso contrário, baixe a estrutura .net.
Após o download, se não for definido automaticamente no gerenciador do IIS a extensão da versão da estrutura .net recém-baixada,
adicione a extensão manualmente, indo para a pasta da estrutura .net baixada recentemente através do gerenciador do IIS:
1. clique com o botão direito do mouse na pasta do site
2. vá para "Propriedades"
3. sob "diretório virtual", clique em "configuração"
4.edite o caminho executável da extensão ".aspx" (cujo caminho está sendo apontado para uma versão diferente da versão da estrutura .net baixada recentemente) para o caminho correto, que é a pasta da versão baixada recentemente da estrutura .net e selecione o arquivo "aspnet_isapi.dll".
5.clique em ok!
fonte
Basta remover o "Target Framework 4.0" e fechar o suporte.
Vai funcionar
fonte
Siga estes dois passos:
Registre o .net framework versão 4.0 (se não estiver registrado)
C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319> aspnet_regiis -i
No pool de aplicativos, altere a estrutura .net para v4.0
fonte
Se você instalar o IIS após a instalação do .Net FrameWork. Você precisa instalar a estrutura .net novamente para o IIS. Então, tudo o que precisamos fazer é correr
aspnet_regiis -i
. Espero que seja útil.fonte
Vi o erro "Atributo não reconhecido 'targetFramework'" na página 'Saída do console' do Jenkins em um servidor de construção. Isso foi depois que eu mudei a 'estrutura de destino' para vários projetos de '.NET Framework 3.5' para '.NET Framework 4' e confirmei minhas alterações.
Em Jenkins, as configurações do projeto tiveram que ser alteradas. Para a solução, a 'Versão do MSBuild' teve que ser alterada de 'v3.5' para 'v4.0'.
fonte
Só tive esse problema ao implantar um novo aplicativo em uma caixa antiga do IIS. A investigação levou à instalação do tempo de execução da v4.5.1, mas o aplicativo requer a v4.5.2
Nada além de instalar a versão correta do tempo de execução do ASP .Net era necessário.
fonte
Pode ser que você tenha seu próprio arquivo de projeto MSBUILD e esteja usando a
<AspNetCompiler>
tarefa. Nesse caso, você deve adicionar oToolPath
para .NET4.fonte
Para camadas, basta alterar a versão do targetFramework apenas no arquivo web.config, as outras coisas não precisam ser alteradas.
fonte
Eu tive o mesmo problema e encontrei esse bom script de atualização para todos os seus pools de aplicativos ao mesmo tempo: https://gallery.technet.microsoft.com/scriptcenter/How-to-set-the-IIS-9c295a20
Certifique-se de definir sua
$IISAppPoolDotNetVersion = "v4.0"
variável no topo.fonte
as 2 etapas a seguir forçarão a atualização do cache do Visual Studio e do IIS Express e geralmente resolverão meus problemas semelhantes:
fonte
Alterar o número da porta para o desenvolvimento local me ajudou. Obrigado @Rinay Ashokan. Fiz todos os problemas e finalmente descobri que as configurações do projeto estão armazenadas no IIS Express para o número da porta.
fonte
Para quem tem esse que não tem o IIS em execução no PC de desenvolvimento, eis o que aconteceu comigo: eu tinha um site, sobrescrito com arquivos de um site diff que tinha 4 anos, enquanto o anterior era 3,5. Este erro foi encontrado. Corrigido simplesmente alterando o nome do diretório do site, que em um PC de desenvolvimento pode ser qualquer coisa, então não há problema. As opções acima são provavelmente mais elegantes, com certeza, mas, às vezes, trabalhos simples, se você puder se safar, ou seja, você está no desenvolvimento, em vez do controle de qualidade ou do produto.
fonte