无法在 Linux 中构建 .NET Core 控制台应用程序
Not able to build .NET Core Console Application in Linux
我有这个规范文件,它正在尝试 运行 一个将 运行 dotnet cli 程序的脚本:
require 'spec_helper'
RSpec.describe 'Integration test', type: :aruba do
let(:command) { run "dotnet-test" }
it "test" do
command.write("test\n")
stop_all_commands
expect(command.output).to end_with("success\n")
end
end
dotnet-test
脚本:
dotnet run --project ../SomeProject/src/SomeProject.Console/SomeProject.Console.csproj --
但我收到错误消息:
Failure/Error: expect(command.output).to end_with("success\n")
expected "MSBUILD : error MSB1009: Project file does not exist.\nSwitch: ../SomeProject/src/SomeProject.Console/SomeProject.Console.csproj\n\nThe build failed. Please fix the build errors and run again.\n" to end with "success\n"
但是,如果我 运行 来自该目录的脚本,那么程序 运行 没问题。无法弄清楚两者之间可能有什么区别。非常感谢您的帮助。
听起来您尝试 运行 的脚本依赖于相对路径才能正确执行。在这种情况下,您可能需要 cd
在您的规格范围内。
见https://relishapp.com/cucumber/aruba/docs/filesystem/change-current-working-directory
尽量使用文件的绝对路径而不是
../SomeProject/src/SomeProject.Console/SomeProject.Console.csproj
你能把完整的路径放上去吗,比如:
/Users/yourusername/pathtosomeproject/SomeProject/src/SomeProject.Console/SomeProject.Console.csproj
显然你需要将 pathtosomeproject
替换到它实际所在的位置。
我有这个规范文件,它正在尝试 运行 一个将 运行 dotnet cli 程序的脚本:
require 'spec_helper'
RSpec.describe 'Integration test', type: :aruba do
let(:command) { run "dotnet-test" }
it "test" do
command.write("test\n")
stop_all_commands
expect(command.output).to end_with("success\n")
end
end
dotnet-test
脚本:
dotnet run --project ../SomeProject/src/SomeProject.Console/SomeProject.Console.csproj --
但我收到错误消息:
Failure/Error: expect(command.output).to end_with("success\n")
expected "MSBUILD : error MSB1009: Project file does not exist.\nSwitch: ../SomeProject/src/SomeProject.Console/SomeProject.Console.csproj\n\nThe build failed. Please fix the build errors and run again.\n" to end with "success\n"
但是,如果我 运行 来自该目录的脚本,那么程序 运行 没问题。无法弄清楚两者之间可能有什么区别。非常感谢您的帮助。
听起来您尝试 运行 的脚本依赖于相对路径才能正确执行。在这种情况下,您可能需要 cd
在您的规格范围内。
见https://relishapp.com/cucumber/aruba/docs/filesystem/change-current-working-directory
尽量使用文件的绝对路径而不是
../SomeProject/src/SomeProject.Console/SomeProject.Console.csproj
你能把完整的路径放上去吗,比如:
/Users/yourusername/pathtosomeproject/SomeProject/src/SomeProject.Console/SomeProject.Console.csproj
显然你需要将 pathtosomeproject
替换到它实际所在的位置。