在Ubuntu上构建MVC项目时,会发生以下错误:
my-table
在Windows上构建同一个项目时,没有编译错误。
两台机器上的dotnet版本是1.0.0-rc4-004771。在两种环境中使用/home/user1/.local/share/Trash/files/pangolin.2/Pangolin.Web/src/Pangolin.Web/Pangolin.Web.csproj.metaproj : error MSB4025: The project file could not be loaded. Could not find file '/home/user1/.local/share/Trash/files/pangolin.2/Pangolin.Web/src/Pangolin.Web/Pangolin.Web.csproj.metaproj'.
0 Warning(s)
1 Error(s)
命令构建项目。
答案 0 :(得分:4)
问题在于目录结构。确保将任何外部项目添加到src目录中。或者,您可以将外部项目添加为NuGet依赖项。
答案 1 :(得分:3)
我遇到了一个非常类似的问题:它在我的DevMachine(Windows10)上成功构建,但在CI(Ubuntu 14.04)中失败。
我的目录结构:
.gitignore
package/
deployment_package.zip
src/
.vs/
MyService/
MyService.csproj
MyService.Tests/
MyService.Tests.csproj
MyService.sln
当我在dotnet build
文件夹级别运行.sln
时会失败,但是当我构建每个.csproj时成功。
我的工作佣金任务:
task :dotnet_build do
Dir["#{SRC_DIR}/**/*.csproj"].each do |csproj_path|
raise "Error building: #{csproj_path}" unless system("dotnet build #{csproj_path} --framework netcoreapp1.1")
end
end
编辑:
dotnet build
在构建多核时遇到问题。
设置/m:1
标志可以解决此问题。
答案 2 :(得分:0)
问题在于目录结构。确保将任何外部项目添加到src目录中。或者,您可以将外部项目添加为NuGet依赖项。
解决我的问题。 我将每个项目添加到 src 文件夹: ./src/project1 ./src/project2
我有一个 global.json : ./global.json
{ "projects": [ "src"],
"sdk": {
"version": "1.0.4"
}
}