【问题标题】:Referencing a .netstandard2_0 project in a platform.uno project在 platform.uno 项目中引用 .netstandard2_0 项目
【发布时间】:2018-05-30 15:09:41
【问题描述】:

复制:

下载https://github.com/nventive/Uno.QuickStart

添加一个名为 TestMe 的 .NETStandard2_0 项目。

在 MyApp.Droid 项目中引用 TestMe。

Building MyApp.Droid 带来编译错误:

System.InvalidOperationException:项目 TestMe 未提供任何元数据引用。这可能是由于路径无效,例如在 csproj 中使用了 $(SolutionDir);尝试改用相对路径。这也可能与缺少默认配置指令有关。有关详细信息,请参阅 Uno.SourceGenerator Readme.md 文件。 在 Uno.SourceGeneration.Host.SourceGeneratorHost.d__4.MoveNext() 在 C:\projects\uno-sourcegeneration\src\Uno.SourceGenerationHost.Shared\SourceGeneratorHost.cs:line 303 MyApp.Droid

我已经尝试将 TestMe.csproj 更改为

<TargetFrameworks>net461;netstandard2.0</TargetFrameworks>

<TargetFrameworks>net47;netstandard2.0</TargetFrameworks>

没有成功。

这个问题有解决办法吗?

【问题讨论】:

    标签: c# uwp uno-platform


    【解决方案1】:

    不幸的是,这是一个已知的 Roslyn 问题:https://github.com/nventive/Uno.SourceGeneration/issues/2

    要解决此问题,您必须在 TargetFrameworks 节点中包含您想要支持的所有平台,在您的情况下是 MonoAndroid80(或类似)。

    【讨论】:

      【解决方案2】:

      感谢 Jerome,我找到了 xamarin 目标框架绰号 https://docs.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals/nuget-manual

      问题是默认 的 .NETStandard 项目不允许 xamarin 目标框架。 解决方法是使用https://github.com/onovotny/MSBuildSdkExtras

      阅读 README.md 建议从 VS15.6+ 开始,您可以将

      更新后的 TestMe.csproj 必须如下所示

      <Project Sdk="MSBuild.Sdk.Extras/1.2.2">
       <PropertyGroup>
         <TargetFrameworks>netstandard2.0;MonoAndroid81;xamarinios10</TargetFrameworks>
       </PropertyGroup>
      

      注意:.netstandard 项目的 monodroid 名字对象必须与 Android 项目版本完全匹配。 --> MonoAndroid81 for Oreo8.1

      更新:而不是写

      <Project Sdk="MSBuild.Sdk.Extras/1.2.2">
      

      也可以写

      <Project Sdk="Microsoft.NET.Sdk">
        <Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-05-06
        • 1970-01-01
        • 2020-04-07
        • 1970-01-01
        • 1970-01-01
        • 2018-05-01
        • 2013-02-01
        相关资源
        最近更新 更多