ASP.net编译项目错误

时间:2011-04-25 16:37:54

标签: c# asp.net web-config version

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 个答案:

答案 0 :(得分:3)

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
}

答案 1 :(得分:0)

尝试创建一个新的.NET 4.0站点并复制其中的所有<assemblies>标记值。

您是否也尝试将它们全部删除?

答案 2 :(得分:0)

1 - System.Guid.Parse - ?试试System.Guid()。解析 - 你应该有一条红线告诉错误的语法

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 - 如果确实存在另一个问题