Open AmCh-Q opened 1 month ago
Confirmed this fail on Ubuntu 22.04
Basically on Windows
, MacOS
, and some Linux Docker
this is fine.
But on some Linux
machine this will fail because of case-sensitivity.
Other than that, you will need Fishery
repo cloned next to this repo.
parallels@ubuntu-linux-22-04-desktop:~/Documents$ git clone https://github.com/bbradson/Performance-Fish.git
Cloning into 'Performance-Fish'...
remote: Enumerating objects: 854, done.
remote: Counting objects: 100% (854/854), done.
remote: Compressing objects: 100% (501/501), done.
remote: Total 854 (delta 501), reused 667 (delta 315), pack-reused 0
Receiving objects: 100% (854/854), 6.24 MiB | 3.89 MiB/s, done.
Resolving deltas: 100% (501/501), done.
2.Clone the DEPENDENCY repo Fishery.
parallels@ubuntu-linux-22-04-desktop:~/Documents$ git clone https://github.com/bbradson/Fishery.git
Cloning into 'Fishery'...
remote: Enumerating objects: 462, done.
remote: Counting objects: 100% (462/462), done.
remote: Compressing objects: 100% (222/222), done.
remote: Total 462 (delta 241), reused 420 (delta 199), pack-reused 0
Receiving objects: 100% (462/462), 3.01 MiB | 2.30 MiB/s, done.
Resolving deltas: 100% (241/241), done.
3.cd
into source directory.
parallels@ubuntu-linux-22-04-desktop:~/Documents$ cd Performance-Fish/Source/PerformanceFish
4.Try to build but FAIL.
parallels@ubuntu-linux-22-04-desktop:~/Documents/Performance-Fish/Source/PerformanceFish$ dotnet build PerformanceFish.sln
MSBuild version 17.8.5+b5265ef37 for .NET
Determining projects to restore...
/usr/lib/dotnet/sdk/8.0.105/NuGet.targets(156,5): error : Invalid framework identifier ''. [/home/parallels/Documents/Performance-Fish/Source/PerformanceFish/PerformanceFish.sln]
Build FAILED.
/usr/lib/dotnet/sdk/8.0.105/NuGet.targets(156,5): error : Invalid framework identifier ''. [/home/parallels/Documents/Performance-Fish/Source/PerformanceFish/PerformanceFish.sln]
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.45
5.Case-sensitivity.
parallels@ubuntu-linux-22-04-desktop:~/Documents/Performance-Fish/Source/PerformanceFish$ mv Directory.Build.Props Directory.Build.props
6.Build again.
parallels@ubuntu-linux-22-04-desktop:~/Documents/Performance-Fish/Source/PerformanceFish$ dotnet build PerformanceFish.sln
MSBuild version 17.8.5+b5265ef37 for .NET
Determining projects to restore...
Restored /home/parallels/Documents/Performance-Fish/Source/PerformanceFish/1.5.csproj (in 24.73 sec).
Restored /home/parallels/Documents/Performance-Fish/Source/PerformanceFish/1.4.csproj (in 24.73 sec).
1.4 -> /home/parallels/Documents/Performance-Fish/1.4/Assemblies/PerformanceFish.dll
1.5 -> /home/parallels/Documents/Performance-Fish/1.5/Assemblies/PerformanceFish.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:42.33
I got this error message when I try opening the solution:
Error Project "[Redacted]\RimWorld\Mods\Performance-Fish\Source\PerformanceFish\Directory.Build.props" was not imported by "[Redacted]\Microsoft Visual Studio\2022\Community\MSBuild\Current\Microsoft.Common.props" at (34,3), due to the file not existing.
That then causes errors such as "Attribute 'TargetFramework' not found" and more. I suspect that is due to the file "Performance-Fish/Source/PerformanceFish/Directory.Build.Props" has a capitalized ".Props", and a quick search tells me "Directory.Build.props" is the standard name. Renaming the file cleared those specific errors on my end, but I am also facing other issues building that I want to figure out on my own first, so I cannot say for certain that this would fix the issue. It's a simple change so I didn't make a PR.