从 Subversion 中检查 EPiServer Web 应用程序后,我在编译它时遇到问题。
我收到这个错误
编译器错误消息:CS1519:类、结构或接口成员声明中的标记“,”无效
源错误:
Line 116: }
Line 117:
Line 118: public virtual EPiServer.Personalization.SubscriptionInfo, EPiServerSubscription Info {
Line 119: get {
Line 120: return ((EPiServer.Personalization.SubscriptionInfo, EPiServer)this.GetPropertyValue("SubscriptionInfo")));
源文件:
c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\956e6fc5\66c11597\App_Code.9_fan95p.0.cs Line: 118
从错误中可以看出,此文件位于“Temporary ASP.NET Files”文件夹中,并且是构建过程的一部分。这不是我的源代码。
我已经看到了这个问题,这表明网络配置包含类型引用
以“Namespace.ClassName, AssemblyName”格式指定。
所以我进入了我的 web.config 并更改了该部分
...
<profile ...>
<properties>
...
<add name="SubscriptionInfo"
type="EPiServer.Personalization.SubscriptionInfo, EPiServer"
provider="SqlProfile" />
...
到
...
<profile ...>
<properties>
...
<add name="SubscriptionInfo"
type="EPiServer.Personalization.SubscriptionInfo"
provider="SqlProfile" />
...
这消除了上面的直接错误,但后来我得到了不同类型的相同错误。所以我检查了所有“ Namespace.TypeName, AssemblyName ”格式的类型,并删除了“ , AssemblyName ”。这停止了所有 CS1519 错误,但随后我开始收到 CS0234:
编译器错误消息:CS0234:命名空间“EPiServer”中不存在类型或命名空间名称“Personalization”(您是否缺少程序集引用?)
源错误:
第 116 行:}
第 117 行:
第 118 行:公共虚拟 EPiServer.Personalization.SubscriptionInfo SubscriptionInfo {
第 119 行:get {
第 120 行:返回 ((EPiServer.Personalization.SubscriptionInfo)(this.GetPropertyValue("SubscriptionInfo"))) ;
我正在使用 VisualStudio 2008、Episerver 5.2.372.7、VisualSVN 1.7.2 和一个 Debian 盒子作为运行 svn 版本 1.4.2 (r22196) 的 Subversion 存储库。
该应用程序构建良好,然后我将其签入到存储库中。将其检查到同一台计算机上的不同位置并按 F5,这些错误开始出现。
有没有人有什么建议。
更新: 感谢您的回复 devio,Zhaph。
我在该<compilation>
部分的 web.config 中添加了以下内容:
<assemblies>
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="EPiServer, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.BaseLibrary, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Configuration, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Enterprise, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Implementation, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Lucene, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Scheduler, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Web.WebControls, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.WorkflowFoundation, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Wsrp, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.XForms, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
</assemblies>
以前没有<assemblies>
节。
该项目的引用中包含所有这些 DLL。所有 EPiServer DLL 都在 GAC 中。新的(不工作的)结帐在创建原始项目的同一台机器上。
我现在得到:
解析器错误消息:无法加载文件或程序集“EPiServer.Scheduler”或其依赖项之一。该系统找不到指定的文件。
(C:\Projects\web\ProvidentPPC2\ProvidentPPC\web.config 第 301 行)
源错误:
Line 299: <add name="InitializationModule" type="EPiServer.Web.InitializationModule" />
Line 300: <!--<add name="BasicAuthentication" type="EPiServer.Security.BasicAuthentication, EPiServer" />-->
Line 301: <add name="Initializer" type="EPiServer.Scheduler.Initializer, EPiServer.Scheduler" />
Line 302: <add name="WorkflowRuntime" type="EPiServer.WorkflowFoundation.WorkflowSystem" />
Line 303: <add name="UrlRewriteModule" type="EPiServer.Web.UrlRewriteModule" />
源文件:
C:\Projects\web\ProvidentPPC2\ProvidentPPC\web.config
Line: 301
正如我所说,EPiServer.Scheduler 在我的 GAC 中并作为参考添加到项目中。任何更多的想法将不胜感激。