Add TargetFrameworkAttribute to compiled C# assembly
This commit is contained in:
@@ -4,6 +4,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Flax.Build.Graph;
|
||||
using Flax.Build.NativeCpp;
|
||||
using Flax.Deploy;
|
||||
@@ -12,7 +13,7 @@ namespace Flax.Build
|
||||
{
|
||||
static partial class Builder
|
||||
{
|
||||
public static event Action<TaskGraph, BuildData, NativeCpp.BuildOptions, Task, IGrouping<string, Module>> BuildDotNetAssembly;
|
||||
public static event Action<TaskGraph, BuildData, BuildOptions, Task, IGrouping<string, Module>> BuildDotNetAssembly;
|
||||
|
||||
private static void BuildTargetDotNet(RulesAssembly rules, TaskGraph graph, Target target, Platform platform, TargetConfiguration configuration)
|
||||
{
|
||||
@@ -151,7 +152,7 @@ namespace Flax.Build
|
||||
}
|
||||
}
|
||||
|
||||
private static void BuildDotNet(TaskGraph graph, BuildData buildData, NativeCpp.BuildOptions buildOptions, string name, List<string> sourceFiles, HashSet<string> fileReferences = null, IGrouping<string, Module> binaryModule = null)
|
||||
private static void BuildDotNet(TaskGraph graph, BuildData buildData, BuildOptions buildOptions, string name, List<string> sourceFiles, HashSet<string> fileReferences = null, IGrouping<string, Module> binaryModule = null)
|
||||
{
|
||||
// Setup build options
|
||||
var buildPlatform = Platform.BuildTargetPlatform;
|
||||
@@ -277,6 +278,13 @@ namespace Flax.Build
|
||||
foreach (var sourceFile in sourceFiles)
|
||||
args.Add("\"" + sourceFile + "\"");
|
||||
|
||||
#if USE_NETCORE
|
||||
// Inject some assembly metadata (similar to msbuild in Visual Studio)
|
||||
var assemblyAttributesPath = Path.Combine(buildOptions.IntermediateFolder, name + ".AssemblyAttributes.cs");
|
||||
File.WriteAllText(assemblyAttributesPath, $"[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(\".NETCoreApp,Version=v{runtimeVersionShort}\", FrameworkDisplayName = \".NET {runtimeVersionShort}\")]\n", Encoding.UTF8);
|
||||
args.Add("\"" + assemblyAttributesPath + "\"");
|
||||
#endif
|
||||
|
||||
// Generate response file with source files paths and compilation arguments
|
||||
string responseFile = Path.Combine(buildOptions.IntermediateFolder, name + ".response");
|
||||
Utilities.WriteFileIfChanged(responseFile, string.Join(Environment.NewLine, args));
|
||||
|
||||
Reference in New Issue
Block a user