ASP.NET Web App использует неправильную (2.0) версию CLR (вместо 4.0) - PullRequest
2 голосов
/ 13 февраля 2011

Я только что развернул веб-приложение asp.net, над которым работал, на новой машине разработчика.Это 4.0 проект, преобразованный из 3.5.По какой-то причине я получаю следующую ошибку при попытке зайти на сайт через свой веб-сайт IIS под веб-сайтом по умолчанию:

Нераспознанный атрибут targetFramework.Обратите внимание, что имена атрибутов чувствительны к регистру.

Это перечисляется как ошибка конфигурации на странице ошибок ASP.NET:

 <compilation debug="true" targetFramework="4.0"/>

Однако я заметил, что наВ нижней части страницы с ошибкой информация о версии указывает, что она использует версию 2 вместо версии 4. У кого-нибудь есть идеи, как это исправить?

Я убедился, что мой веб-сайт по умолчанию использует .net 4 /интегрированный пул приложений, и я сделал это после того, как было сделано это изменение.Все еще не удача.Вот весь мой файл web.config:

    <?xml version="1.0"?>
<configuration>
    <appSettings/>
    <connectionStrings>
        <add name="EventMasterConnectionString" connectionString="Data Source=localhost;Initial Catalog=BashBidder;Integrated Security=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    <system.web>
        <!-- 
            Set compilation debug="true" to insert debugging 
            symbols into the compiled page. Because this 
            affects performance, set this value to true only 
            during development.
        -->
        <compilation debug="true" targetFramework="4.0">
        </compilation>
        <!--
            The <authentication> section enables configuration 
            of the security authentication mode used by 
            ASP.NET to identify an incoming user. 
        -->
        <authentication mode="Windows"/>
        <!--
            The <customErrors> section enables configuration 
            of what to do if/when an unhandled error occurs 
            during the execution of a request. Specifically, 
            it enables developers to configure html error pages 
            to be displayed in place of a error stack trace.

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
        <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/></system.web>
    <!-- 
        The system.webServer section is required for running ASP.NET AJAX under Internet
        Information Services 7.0.  It is not necessary for previous version of IIS.
    -->
</configuration>

Спасибо за помощь!

1 Ответ

2 голосов
/ 13 февраля 2011

Вам необходимо настроить пул приложений, чтобы он использовал версию 4.0 платформы.

Эта процедура объясняет, как это сделать в IIS 7, и , что в IIS 6.

...