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>
答案 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应用程序放在正确的应用程序池中。