microsoft / WinObjC

Objective-C for Windows
MIT License
6.24k stars 809 forks source link

Custom solution configurations doesn't work with nuget packages #2895

Open Liastre opened 5 years ago

Liastre commented 5 years ago

Hello, I wish to build my custom configuration, DebugTest for example, but current nugget package WinObjC,Language doesn't allow me to do that, with the following error:

1>LINK : fatal error LNK1104: cannot open file 'winobjcrt.lib'

Only Release and Debug are able to be built, the issue in WinObjC.Language.0.2.180221-dev-20180516000001\build\lib\Universal Windows\x86 contains folders for Release and Debug and WinObjC.Language.0.2.180221-dev-20180516000001\build\WinObjC.Language.targets links it wrong, basing on current configuration name. The line to fix:

    <Link>
      <AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)\lib\$(TargetOsAndVersion)\$(PlatformTarget)\;$(MSBuildThisFileDirectory)\lib\$(TargetOsAndVersion)\$(PlatformTarget)\$(Configuration)\;$(MSBuildThisFileDirectory)\deps\prebuilt\$(TargetOsAndVersion)\$(PlatformTarget)\;$(MSBuildThisFileDirectory)\deps\prebuilt\$(TargetOsAndVersion)\$(PlatformTarget)\$(Configuration)\;$(MSBuildThisFileDirectory)\lib\$(TargetOsAndVersion)\$(PlatformTarget)\Debug\;%(AdditionalLibraryDirectories);</AdditionalLibraryDirectories>
    </Link>

and

    <_DllsFromPackage Include="$(MSBuildThisFileDirectory)\lib\$(TargetOsAndVersion)\$(PlatformTarget)\*.dll"/>
    <_DllsFromPackage Include="$(MSBuildThisFileDirectory)\lib\$(TargetOsAndVersion)\$(PlatformTarget)\$(Configuration)\*.dll"/>
...
    <_LibsFromPackage Include="$(MSBuildThisFileDirectory)\lib\$(TargetOsAndVersion)\$(PlatformTarget)\*.lib"/>
    <_LibsFromPackage Include="$(MSBuildThisFileDirectory)\lib\$(TargetOsAndVersion)\$(PlatformTarget)\$(Configuration)\*.lib"/>

I'm using latest prerelease packages but that issue keeps from older versions.