ASP.net ошибка компиляции проекта - PullRequest
2 голосов
/ 25 апреля 2011
Error   102 'System.Guid' does not contain a definition for 'Parse' 

Согласно MSDN:

http://msdn.microsoft.com/en-us/library/system.guid.parse.aspx

Это связано с тем, что метод синтаксического анализа находится в mscorlib (in mscorlib.dll), .NET 4.0

Все мои настройки проекта / пулы приложенийустановить на .NET 4.0.Но мои сборки в web.config выглядят следующим образом:

<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="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>

Если я изменяю System.core на версию 4.0.0.0, он выдает много ошибок:

Error   102 The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)

Может кто-нибудь помочьмне исправить это, чтобы я мог построить свой сайт?

Ответы [ 3 ]

3 голосов
/ 25 апреля 2011

Guid.Parse - это ТОЛЬКО метод .NET 4.0, также Silverlight, но здесь это не имеет значения. Вы не можете просто обновить одну сборку, обновить весь сайт до .NET 4.0. Или вы можете просто попытаться создать новый GUID из его старого строкового представления, если вам нужно остаться в 3.5.

try
{
    Guid newGUID = new Guid("CA761232-ED42-11CE-BACD-00AA0057B223");
}
catch (FormatException fe)
{
    //Handle failed Guid parsing
}
catch (OverflowException oe)
{
    //Handle failed Guid parsing
}
0 голосов
/ 25 апреля 2011

1 - System.Guid.Parse -? Попробуйте System.Guid (). Parse - у вас должна быть красная линия с неверным синтаксисом

2 - если вам 3,5, добавьте System.data, system.data.linq в ваш проект - если вы 4.0, то добавьте system.data и system.linq

Я заметил, что у вас есть ссылки на System.web и System.windows.forms? В том же проекте? Как правило, иметь веб-сайт, использующий windows.forms

, - плохая практика.

наконец выясните, требуется ли для версии MySQL .net 4.0 - если это так, есть другая проблема

0 голосов
/ 25 апреля 2011

Попробуйте создать новый сайт .NET 4.0 и скопировать в него все значения тега <assemblies>.

Вы также пытались удалить их все?

...