Fix C# projects not compiling in VS with native code plugins present

This commit is contained in:
2025-01-31 23:56:30 +02:00
parent 04dde7a3f2
commit 0764ff6cb7
9 changed files with 12 additions and 13 deletions

View File

@@ -26,7 +26,7 @@ namespace Flax.Build.Projects.VisualStudio
public override TargetType? Type => TargetType.DotNet;
/// <inheritdoc />
public override void GenerateProject(Project project, string solutionPath)
public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{
var csProjectFileContent = new StringBuilder();

View File

@@ -26,7 +26,7 @@ namespace Flax.Build.Projects.VisualStudio
public override TargetType? Type => TargetType.DotNetCore;
/// <inheritdoc />
public override void GenerateProject(Project project, string solutionPath)
public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{
var dotnetSdk = DotNetSdk.Instance;
var csProjectFileContent = new StringBuilder();
@@ -109,8 +109,7 @@ namespace Flax.Build.Projects.VisualStudio
//csProjectFileContent.AppendLine(" <CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>"); // TODO: use it to reduce burden of framework libs
// Custom .targets file for overriding MSBuild build tasks, only invoke Flax.Build once per Flax project
bool isMainProject = Globals.Project.IsCSharpOnlyProject && Globals.Project.ProjectFolderPath == project.WorkspaceRootPath && project.Name != "BuildScripts" && (Globals.Project.Name != "Flax" || project.Name != "FlaxEngine");
// Custom .targets file for overriding MSBuild build tasks, only invoke Flax.Build once per Flax project
var flaxBuildTargetsFilename = isMainProject ? "Flax.Build.CSharp.targets" : "Flax.Build.CSharp.SkipBuild.targets";
var cacheProjectsPath = Utilities.MakePathRelativeTo(Path.Combine(Globals.Root, "Cache", "Projects"), projectDirectory);
var flaxBuildTargetsPath = !string.IsNullOrEmpty(cacheProjectsPath) ? Path.Combine(cacheProjectsPath, flaxBuildTargetsFilename) : flaxBuildTargetsFilename;

View File

@@ -55,7 +55,7 @@ namespace Flax.Build.Projects.VisualStudio
}
/// <inheritdoc />
public override void GenerateProject(Project project, string solutionPath)
public override void GenerateProject(Project project, string solutionPath, bool isMainProject)
{
var vcProjectFileContent = new StringBuilder();
var vcFiltersFileContent = new StringBuilder();

View File

@@ -22,7 +22,7 @@ namespace Flax.Build.Projects.VisualStudio
public override Guid ProjectTypeGuid => ProjectTypeGuids.Android;
/// <inheritdoc />
public override void Generate(string solutionPath)
public override void Generate(string solutionPath, bool isMainProject)
{
// Try to reuse the existing project guid from existing files
ProjectGuid = GetProjectGuid(Path, Name);