c#-名称空间不能直接包含成员…类型或名称空间定义,或文件末尾预期错误
作者:互联网
我正在尝试为Windows Phone编译Sync Framework 4.0的示例代码,但是在几个文件中遇到了错误.这些文件之一是:
#if SERVER
namespace Microsoft.Synchronization.Services
#elif CLIENT
namespace Microsoft.Synchronization.ClientServices
#endif
{
/// <summary>
/// Represents the base interface that all offline cacheable object should derive from.
/// </summary>
public interface IOfflineEntity
{
/// <summary>
/// Represents the sync and OData metadata used for the entity
/// </summary>
OfflineEntityMetadata ServiceMetadata { get; set; }
}
}
有两个错误:
>名称空间不能直接包含诸如字段或方法之类的成员-对于第一个括号
>类型或名称空间定义,或预期的文件结尾-最后一个括号
我已经在Google中搜索了这两个错误,并且发现了很多此类错误的答案-但是,这些错误都不能应用于我的情况(afaik中没有缺少括号).
解决方法:
由于未定义SERVER或CLIENT conditional symbol,因此收到此错误.在预处理阶段消除了#if … #endif指令中的文本后,编译器仅看到以下代码:
{
/// <summary>
/// Represents the base interface that all offline cacheable object should derive from.
/// </summary>
public interface IOfflineEntity
{
/// <summary>
/// Represents the sync and OData metadata used for the entity
/// </summary>
OfflineEntityMetadata ServiceMetadata { get; set; }
}
}
无效的C#代码(因为在打开花括号之前缺少“命名空间xyz”).
在Visual Studio中,转到项目属性,然后在“构建集”页面上将“条件编译”符号设置为SERVER或CLIENT(名称区分大小写).
标签:windows-phone,c 来源: https://codeday.me/bug/20191101/1982643.html