c # System.guid не содержит определения для разбора - PullRequest
5 голосов
/ 22 апреля 2011
AT.Anchor = System.Guid.Parse(DataBinder.Eval(e.Item.DataItem, "Anchor").ToString());

Это бросает:

'System.Guid' does not contain a definition for 'Parse'

Когда я пытаюсь его построить.Но все работает нормально, есть идеи, как мне справиться с этим лучше?

Редактировать

Вот часть моего web.config

    <compilation defaultLanguage="c#" debug="true">
        <assemblies>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <add assembly="System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
            <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
            <add assembly="MySql.Data.Entity, Version=6.3.6.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
            <add assembly="MySql.Web, Version=6.3.6.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/></assemblies>
    </compilation>

Ответы [ 2 ]

7 голосов
/ 22 апреля 2011

Guid.TryParse является частью .NET 4. Убедитесь, что вы работаете и работаете с .NET 4, и все должно быть в порядке.

1 голос
/ 22 апреля 2011

Одной из особенностей пулов приложений IIS является то, что первое веб-приложение, которое запускается в пуле приложений, определяет версию CLR, используемую этим пулом приложений.

Если первое приложение запущенобыл построен, скажем, для .Net v1.1, затем каждое приложение, запущенное после этого, будет работать в среде выполнения v1.1.Если ваше приложение, которое запускается следующим, было разработано, скажем, для времени выполнения 4.0, вы вряд ли найдете счастье.Некоторые могут считать, что это особенность.Или нет.

«Пуск» в данном случае означает «получает HTTP-запрос».Это означает, что версия времени выполнения, которую вы получаете, является, по сути, случайной: она зависит от того, что делают клиенты и в каком порядке, после того, как вы отскочили от пула приложений или отскочили IIS.приложения в соответствующих пулах приложений.Либо объедините каждое веб-приложение в свой пул приложений, либо настройте пул приложений для каждой версии CLR и будьте осторожны, чтобы поместить ваши веб-приложения в правильный пул приложений.

...