Skip to content

.NET 9 1.9.3 #80

@mtmulch0191

Description

@mtmulch0191

Hello there we recently tried to update IKVM-Maven to 1.9.3 on .NET 9 and we get the following stack trace and Visual Studio error about not being able to find the IKVM.Runtime.dll. Project compiles fine on 1.9.2. Is there any insight into this?

<Project>
    <PropertyGroup>
        <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
    </PropertyGroup>

    <PropertyGroup Condition=" '$(TargetFramework)' != '' ">
        <IkvmToolFramework Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'netstandard1.0'))">net8.0</IkvmToolFramework>
        <IkvmToolFramework Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net461'))">net472</IkvmToolFramework>
        <IkvmToolFramework Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'netcoreapp3.1'))">net8.0</IkvmToolFramework>
        <IkvmJavaFramework>net8.0</IkvmJavaFramework>
        <IkvmToolRuntime Condition="$([MSBuild]::IsOSPlatform('Windows')) And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X86'">win-x86</IkvmToolRuntime>
        <IkvmToolRuntime Condition="$([MSBuild]::IsOSPlatform('Windows')) And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64'">win-x64</IkvmToolRuntime>
        <IkvmToolRuntime Condition="$([MSBuild]::IsOSPlatform('Windows')) And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'ARM64'">win-arm64</IkvmToolRuntime>
        <IkvmToolRuntime Condition="$([MSBuild]::IsOSPlatform('Linux')) And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X86'">linux-x86</IkvmToolRuntime>
        <IkvmToolRuntime Condition="$([MSBuild]::IsOSPlatform('Linux')) And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64'">linux-x64</IkvmToolRuntime>
        <IkvmToolRuntime Condition="$([MSBuild]::IsOSPlatform('Linux')) And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'ARM64'">linux-arm64</IkvmToolRuntime>
        <IkvmToolRuntime Condition="$([MSBuild]::IsOSPlatform('OSX')) And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64'">osx-x64</IkvmToolRuntime>
        <IkvmToolRuntime Condition="$([MSBuild]::IsOSPlatform('OSX')) And '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'ARM64'">osx-arm64</IkvmToolRuntime>
    </PropertyGroup>

    <!-- Set up default cache information. -->
    <PropertyGroup Condition=" '$(TargetFramework)' != '' ">
        <IkvmStageDir Condition=" '$(IkvmStageDir)' == '' ">$(IntermediateOutputPath)ikvm\stage\1\</IkvmStageDir>
        <IkvmCacheDir Condition=" '$(IkvmCacheDir)' == '' ">$([System.IO.Path]::GetTempPath())ikvm\cache\1\</IkvmCacheDir>
        <IkvmExportStageDir Condition=" '$(IkvmExportStageDir)' == '' ">$(IntermediateOutputPath)ikvm\expstage\1\</IkvmExportStageDir>
        <IkvmExportCacheDir Condition=" '$(IkvmExportCacheDir)' == '' ">$([System.IO.Path]::GetTempPath())ikvm\expcache\1\</IkvmExportCacheDir>
    </PropertyGroup>

    <PropertyGroup>
        <ResolveIkvmRuntimeAssemblyDependsOn>
            $(ResolveIkvmRuntimeAssemblyDependsOn);
            ResolvePackageDependenciesForBuild;
            ResolveProjectReferences;
        </ResolveIkvmRuntimeAssemblyDependsOn>
    </PropertyGroup>

    <!-- Locates the IKVM.Runtime assembly from among the current references of the project. -->
    <Target Name="ResolveIkvmRuntimeAssembly" DependsOnTargets="$(ResolveIkvmRuntimeAssemblyDependsOn)">
        <ItemGroup>
            <_IkvmRuntimeAssembly Include="@(Reference);@(_ResolvedProjectReferencePaths)" Condition=" '%(Identity)' == 'IKVM.Runtime' Or '%(Filename)%(Extension)' == 'IKVM.Runtime.dll' " />
        </ItemGroup>
        <PropertyGroup>
            <IkvmRuntimeAssembly>@(_IkvmRuntimeAssembly)</IkvmRuntimeAssembly>
        </PropertyGroup>
        <Error Text="Could not locate IKVM.Runtime.dll." Condition=" '$(IkvmRuntimeAssembly)' == '' " />
    </Target>

    <!--
    Optionally disable registration of tasks.
    -->
    <Import Project="$(MSBuildThisFileDirectory)IKVM.MSBuild.Tasks.targets" Condition=" '$(UseIkvmTasks)' != 'false' "/>
    <Import Project="$(MSBuildThisFileDirectory)IKVM.MSBuild.NoTasks.targets" Condition=" '$(UseIkvmTasks)' == 'false' "/>

    <!--
    PackageReference mode looks for IKVM tools and assemblies from the included IKVM and IKVM.MSBuild packages.
    ProjectReference mode looks for IKVM tools and assemblies from marked ProjectReferences. Used for internal builds.
    -->
    <Import Project="$(MSBuildThisFileDirectory)IKVM.MSBuild.IkvmToolReference.targets" Condition=" '$(UseIkvmToolReferences)' == 'true' "/>

</Project>

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions