Tom Gullen
Tom Gullen

Reputation: 61773

ASP.net compile project error

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

According to MSDN:

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

This is because the parse method is in mscorlib (in mscorlib.dll), .NET 4.0

All my project settings/app pools are set to .NET 4.0. But my assemblies in web.config is as follows:

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

If I change System.core to version 4.0.0.0 it throws a lot of errors:

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

Can anyone help me fix it so I can build my website?

Upvotes: 2

Views: 737

Answers (3)

KenL
KenL

Reputation: 875

1 - System.Guid.Parse - ? Try System.Guid().Parse - you should have a red line telling bad syntax

2 - If you are 3.5 then add System.data, system.data.linq to your project - if you are 4.0 then add system.data and system.linq

I notice that you have references to System.web and System.windows.forms? In the same project? Generally it is bad practice to have a web site that uses windows.forms

lastly find out if the MySQL version requires .net 4.0 - if it does there is another problem

Upvotes: 0

Dustin Laine
Dustin Laine

Reputation: 38553

Guid.Parse is a .NET 4.0 method ONLY, well Silverlight also but that is not relevant here. You cannot just upgrade the one assembly, upgrade the entire site to .NET 4.0. Or you can simple try to create a new GUID from the old string representation of it, if you need to stay in 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
}

Upvotes: 3

Meligy
Meligy

Reputation: 36624

Try to create a new .NET 4.0 site and copy all the <assemblies> tag values in it.

Did you try to remove them all also ?

Upvotes: 0

Related Questions