diff --git a/Directory.Build.props b/Directory.Build.props
index 6f98d1169..66b6562e5 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -18,13 +18,16 @@
Condition="Exists('$(_OutputPath)MonoInfo.props')"
/>
+ True
+
+
$(MSBuildThisFileDirectory)bin\Build$(Configuration)-$(TargetFramework)\
$(MSBuildThisFileDirectory)bin\$(Configuration)-$(TargetFramework)\
$(MSBuildThisFileDirectory)bin\Test$(Configuration)-$(TargetFramework)\
$(UtilityOutputFullPathCoreApps)
$(ToolOutputFullPath)
-
+
$(MSBuildThisFileDirectory)bin\Build$(Configuration)\
$(MSBuildThisFileDirectory)bin\$(Configuration)\
$(MSBuildThisFileDirectory)bin\Test$(Configuration)\
diff --git a/build-tools/jnienv-gen/jnienv-gen.csproj b/build-tools/jnienv-gen/jnienv-gen.csproj
index d8ca15ebd..adb6db118 100644
--- a/build-tools/jnienv-gen/jnienv-gen.csproj
+++ b/build-tools/jnienv-gen/jnienv-gen.csproj
@@ -2,9 +2,10 @@
Exe
- net472
+ net472;netcoreapp3.1
false
false
+ $(BaseIntermediateOutputPath)$(Configuration)\$(TargetFramework.ToLowerInvariant())\
diff --git a/src/Java.Interop/Java.Interop.targets b/src/Java.Interop/Directory.Build.targets
similarity index 75%
rename from src/Java.Interop/Java.Interop.targets
rename to src/Java.Interop/Directory.Build.targets
index 2c78acadc..205b49e0d 100644
--- a/src/Java.Interop/Java.Interop.targets
+++ b/src/Java.Interop/Directory.Build.targets
@@ -2,6 +2,10 @@
mono
+ <_JNIEnvGenPath Condition=" '$(JIBuildingForNetCoreApp)' == 'True' ">$(BuildToolOutputFullPath)jnienv-gen.dll
+ <_JNIEnvGenPath Condition=" '$(JIBuildingForNetCoreApp)' != 'True' ">$(BuildToolOutputFullPath)jnienv-gen.exe
+ <_RunJNIEnvGen Condition=" '$(JIBuildingForNetCoreApp)' == 'True' ">dotnet "$(_JNIEnvGenPath)"
+ <_RunJNIEnvGen Condition=" '$(JIBuildingForNetCoreApp)' != 'True' ">$(Runtime) "$(_JNIEnvGenPath)"
@@ -16,14 +20,14 @@
<_AddCompile Condition=" !Exists('Java.Interop\JniEnvironment.g.cs') ">True
diff --git a/src/Java.Interop/Java.Interop-MonoAndroid.csproj b/src/Java.Interop/Java.Interop-MonoAndroid.csproj
index 7101c30fe..716d485c2 100644
--- a/src/Java.Interop/Java.Interop-MonoAndroid.csproj
+++ b/src/Java.Interop/Java.Interop-MonoAndroid.csproj
@@ -76,7 +76,7 @@
False
-
+
BuildJniEnvironment_g_cs;
diff --git a/src/Java.Interop/Java.Interop.csproj b/src/Java.Interop/Java.Interop.csproj
index 47bebad19..3d697dfbd 100644
--- a/src/Java.Interop/Java.Interop.csproj
+++ b/src/Java.Interop/Java.Interop.csproj
@@ -1,7 +1,7 @@
- netstandard2.0
+ netstandard2.0;netcoreapp3.1
1591
true
..\..\product.snk
@@ -9,26 +9,19 @@
true
false
false
-
-
- ..\..\bin\Debug
- ..\..\bin\Debug\Java.Interop.xml
- ..\..\bin\BuildDebug
- $(DefineConstants);DEBUG;NETSTANDARD;NETSTANDARD2_0
+ $(BaseIntermediateOutputPath)$(Configuration)\$(TargetFramework.ToLowerInvariant())\
+ $(ToolOutputFullPath)
+ $(ToolOutputFullPath)Java.Interop.xml
+ $(BuildToolOutputFullPath)
8.0
enable
-
- ..\..\bin\Release
- ..\..\bin\Release\Java.Interop.xml
- ..\..\bin\BuildRelease
- 8.0
- enable
+
+ DEBUG;$(DefineConstants)
-
BuildJniEnvironment_g_cs;
@@ -60,7 +53,9 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+