c#System.guid不包含Parse的定义

时间:2011-04-22 16:31:29

标签: c# asp.net casting guid

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

答案 0 :(得分:7)

Guid.TryParse是.NET 4的一部分。确保你是在构建和运行.NET 4,它应该没问题。

答案 1 :(得分:1)

IIS应用程序池的一个原因是在应用程序池中启动的第一个Web应用程序确定该应用程序池使用的CLR版本。

如果启动的第一个应用程序是为.Net v1.1构建的,则之后启动的每个应用程序都将针对v1.1运行时运行。如果您的应用程序(下次启动)是为4.0运行时构建的,那么您不太可能找到快乐。有些人可能会认为这是一个功能。或者不是。

&#34;开始&#34;,在这种情况下,意味着&#34;接收HTTP请求&#34;。这意味着您获得的运行时版本基本上是随机的:它取决于客户端执行的操作以及退回应用程序池或退回IIS后的顺序。

您需要小心将您的网络应用放入适当的应用池中。将每个Web应用程序捆绑在自己的应用程序池中,或者为每个CLR版本设置一个应用程序池,并小心将您的Web应用程序放在正确的应用程序池中。