在 Azure DevOps 上而非本地构建错误
Build error on Azure DevOps but not local
我在 Azure DevOps 上遇到以下错误:
Floow.Admin.Domain.Attributes\ServiceDocumentFieldAttribute.cs(38,30): 错误 CS1002: ;预期的
Floow.Admin.Domain.Attributes\ServiceDocumentFieldAttribute.cs(38,43):错误 CS1519:class、结构或接口成员声明中的无效标记“(”
关于下面的代码
public class GridFilterAttribute : Attribute
{
public readonly string[] Fields;
public bool IsFilter => Fields.Any();
public GridFilterAttribute(params string[] fields)
{
Fields = fields;
}
}
会不会和C#版本有关?本地没问题。
##########################
新的消息
##########################
这可能是一个原因:
##error]packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets(48,5):错误 MSB4062:“KillProcess”任务无法从程序集 c:\agent\2\s\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46....\tasks\DotNetCompilerPlatformTasks.dll 加载。无法加载文件或程序集 'Microsoft.Build.Utilities.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。该系统找不到指定的文件。确认声明正确,程序集及其所有依赖项可用,并且任务包含实现 Microsoft.Build.Framework.ITask.[=11= 的 public class ]
编译器错误 CS1519
class、结构或接口成员声明中的无效标记 'token'
每当在不属于它的位置遇到令牌时,就会生成此错误。令牌是关键字;标识符(class、结构、方法等的名称);字符串、字符或数字文字值,例如 108、“Hello”或 'A';或运算符或标点符号,例如 ==
或 ;
.
任何在类型前包含无效修饰符的 class、结构或接口成员声明都会产生此错误。要修复错误,请删除无效的修饰符。
以下示例在五个位置生成 CS1519
,因为标记放置在它们无效的位置:
// CS1519.cs
// Generates CS1519 because a class name cannot be a number:
class Test 42
{
// Generates CS1519 because of 'j' following 'I'
// with no comma between them:
int i j;
// Generates CS1519 because of "checked" on void method:
checked void f4();
// Generates CS1519 because of "num":
void f5(int a num){}
// Generates CS1519 because of namespace inside class:
namespace;
}
因此,请检查 ServiceDocumentFieldAttribute.cs
中是否有错放的标记。
生成服务器已关闭。因为我们因为电晕而被隔离,所以我们没有注意到。现在移动到 VPS 这样我们就可以随时访问服务器。奇怪没有服务器关闭错误。
我在 Azure DevOps 上遇到以下错误:
Floow.Admin.Domain.Attributes\ServiceDocumentFieldAttribute.cs(38,30): 错误 CS1002: ;预期的 Floow.Admin.Domain.Attributes\ServiceDocumentFieldAttribute.cs(38,43):错误 CS1519:class、结构或接口成员声明中的无效标记“(”
关于下面的代码
public class GridFilterAttribute : Attribute
{
public readonly string[] Fields;
public bool IsFilter => Fields.Any();
public GridFilterAttribute(params string[] fields)
{
Fields = fields;
}
}
会不会和C#版本有关?本地没问题。
########################## 新的消息 ##########################
这可能是一个原因: ##error]packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets(48,5):错误 MSB4062:“KillProcess”任务无法从程序集 c:\agent\2\s\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46....\tasks\DotNetCompilerPlatformTasks.dll 加载。无法加载文件或程序集 'Microsoft.Build.Utilities.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。该系统找不到指定的文件。确认声明正确,程序集及其所有依赖项可用,并且任务包含实现 Microsoft.Build.Framework.ITask.[=11= 的 public class ]
编译器错误 CS1519
class、结构或接口成员声明中的无效标记 'token'
每当在不属于它的位置遇到令牌时,就会生成此错误。令牌是关键字;标识符(class、结构、方法等的名称);字符串、字符或数字文字值,例如 108、“Hello”或 'A';或运算符或标点符号,例如 ==
或 ;
.
任何在类型前包含无效修饰符的 class、结构或接口成员声明都会产生此错误。要修复错误,请删除无效的修饰符。
以下示例在五个位置生成 CS1519
,因为标记放置在它们无效的位置:
// CS1519.cs
// Generates CS1519 because a class name cannot be a number:
class Test 42
{
// Generates CS1519 because of 'j' following 'I'
// with no comma between them:
int i j;
// Generates CS1519 because of "checked" on void method:
checked void f4();
// Generates CS1519 because of "num":
void f5(int a num){}
// Generates CS1519 because of namespace inside class:
namespace;
}
因此,请检查 ServiceDocumentFieldAttribute.cs
中是否有错放的标记。
生成服务器已关闭。因为我们因为电晕而被隔离,所以我们没有注意到。现在移动到 VPS 这样我们就可以随时访问服务器。奇怪没有服务器关闭错误。