Кастом "CoreLib" в .NET Core? - PullRequest
       31

Кастом "CoreLib" в .NET Core?

0 голосов
/ 19 февраля 2019

Попытка получить собственный CoreLib в проекте .NET Core для загрузки в VS 2017. Это было очень просто в .NET Framework, так как все, что вам было нужно, это " NoStdLib ", но с .NET Core похоже нанужно много больше деталей.Я продолжаю получать: «Файл проекта неполный. Ожидаемый импорт отсутствует.»

<?xml version="1.0" encoding="utf-8"?>
<!--<Project Sdk="Microsoft.NET.Sdk">-->
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
        <ProjectGuid>{3DA06C3A-2E7B-4CB7-80ED-9B12916013F9}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>

    <!--<TargetFramework>netcoreapp2.2</TargetFramework>-->
        <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
        <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
        <ExcludeMscorlibFacade>true</ExcludeMscorlibFacade>
        <NoStdLib>true</NoStdLib>
        <NoCompilerStandardLib>true</NoCompilerStandardLib>

        <LangVersion>latest</LangVersion>
        <RootNamespace>System</RootNamespace>
  </PropertyGroup>

    <PropertyGroup>
    <AssemblyName>System.Private.CoreLib</AssemblyName>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
    <MajorVersion>4</MajorVersion>
    <MinorVersion>6</MinorVersion>
    <ExcludeAssemblyInfoPartialFile>true</ExcludeAssemblyInfoPartialFile>
  </PropertyGroup>

</Project>

Уходит, что делает System.Private.CoreLib.csproj и не уверен, что это за отсутствующая часть?Удаление " Sdk =" Microsoft.NET.Sdk "" вызывает часть проблемы, поскольку я не думаю, что у меня может быть это для настраиваемой corelib

На чем я основываюсьиз: https://github.com/dotnet/coreclr/blob/master/src/System.Private.CoreLib/System.Private.CoreLib.csproj

Кто-нибудь знает, каковы настройки csproj, чтобы это работало?Кажется, я не могу найти хорошую информацию по этому вопросу.

1 Ответ

0 голосов
/ 20 февраля 2019

Спасибо @PetSerAl: это делает именно то, что мне нужно..NET Core не загружает библиотеку (возможно, потому что мои примитивы и т. Д. Не реализованы полностью), но без ошибок компилирует все IL, которые мне нужны для моего проекта.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <LangVersion>latest</LangVersion>

    <!--Disable .NET Core SDK libs-->
    <NoStdLib>true</NoStdLib>
    <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
  </PropertyGroup>

</Project>
...