.net core Cake命令DotNetCoreTool失败,返回“0”;找不到匹配命令的可执行文件“;在构建服务器上
我正在尝试使用Cake构建脚本在构建服务器上生成DotNetCore AWS Lambda包:.net core Cake命令DotNetCoreTool失败,返回“0”;找不到匹配命令的可执行文件“;在构建服务器上,.net-core,aws-lambda,teamcity,cakebuild,.net Core,Aws Lambda,Teamcity,Cakebuild,我正在尝试使用Cake构建脚本在构建服务器上生成DotNetCore AWS Lambda包: Task("PackageLambda") .Does(() => { var projectDirectory = System.IO.Path.Combine(baseDirectory, lambdaProject.BaseDirectory, lambdaProject.ProjectName); DotNetCoreTool( projectPath:
Task("PackageLambda")
.Does(() =>
{
var projectDirectory = System.IO.Path.Combine(baseDirectory, lambdaProject.BaseDirectory, lambdaProject.ProjectName);
DotNetCoreTool(
projectPath: System.IO.Path.Combine(projectDirectory, "SubProject.csproj"),
command: "lambda",
arguments: "package",
);
});
在BuildAgent(作为系统运行)的上下文下运行时,命令失败,未找到与命令“dotnet lambda”匹配的可执行文件
- 在本地运行构建脚本-有效
- 在BuildAgent-works上手动运行构建脚本
- 在BuildAgent-works上以系统用户()身份运行构建脚本
- 使用外接程序设置
-失败工作目录
我相当肯定这个问题与CAKE脚本调用的上下文有关,但似乎无法缩小范围。我们正在使用此MetaRunner运行我们的CAKE脚本-其根本问题是环境变量
MSBuildSDKsPath
由Teamcity配置值设置。设置的值是无效路径 您是否对该项目执行了.NET还原?@devlead运行dotnet还原可以在本地运行,也可以从代理上的命令行运行。作为生成错误运行时出现错误MSB4236:找不到指定的SDK“Microsoft.NET.SDK”。
也可能值得注意的是,脚本运行良好,无需运行dotnet restore
。这让我相信它与metarunner的关系比其他任何东西都要大。我能够确认WorkingDirectory
确实按照预期工作,并且此命令正在从项目根目录运行。我尝试在metarunner上设置
,但仍然遇到相同的问题