首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置NCrunch,使其能够构建Blazor项目

如何配置NCrunch,使其能够构建Blazor项目
EN

Stack Overflow用户
提问于 2019-12-24 09:48:11
回答 1查看 125关注 0票数 1

当NCrunch (4.2.0.7版)试图构建Blazor项目(版本3.0.0-预览9)时,它会产生以下错误:

packages\microsoft.aspnetcore.blazor.build\3.0.0-preview9.19465.2\targets\Blazor.MonoRuntime.targets

(441,5):命令"dotnet "C:\Users\Rodolfo.nuget\packages\microsoft.aspnetcore.blazor.mono\3.0.0-preview9.19462.2\build\netstandard1.0../../tools/illink/illink.dll“-l none -禁用--选择不可访问的对象-详细的-安全真(这里有很多文件。)以代码-532462766离开。

如何让NCrunch构建Blazor项目?

免责声明:我写这个问题之前,没有找到一个在线的答案,包括这样。我已经找到了解决办法,并打算自己回答这个问题,以便-希望-帮助其他人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-24 09:48:11

TL;博士

BlazorWebAssemblyEnableLinking)

  • 添加一个名为BlazorLinkOnBuild的自定义构建属性(从3.2.0-preview 3开始,重命名为NCrunch,值为false.

)。

完全解释 ..。以防细节发生变化。

在错误消息中提到的.targets文件的第441行中,您将找到导致错误的Exec命令:

代码语言:javascript
复制
<Exec Command="dotnet &quot;$(MonoLinkerPath)&quot; $(_BlazorLinkerAdditionalOptions) @(_BlazorFolderLookupPaths, ' ') -o &quot;$(BlazorIntermediateLinkerOutputPath)&quot; @(_BlazorAssemblyDescriptorFiles, ' ') @(_BlazorAssembliesToLink, ' ')"  />

此命令包装在以下目标中:

代码语言:javascript
复制
<Target
  Name="_LinkBlazorApplication"
  Condition="$(_BlazorShouldLinkApplicationAssemblies) != ''"
  Inputs="$(BlazorBuildLinkerInputsCache);
          @(IntermediateAssembly);
          @(_BlazorDependencyInput);
          @(BlazorLinkerDescriptor)"
  Outputs="$(BlazorIntermediateLinkerResultFilePath)"
>

这意味着只有在_BlazorShouldLinkApplicationAssemblies属性不是空的情况下才会执行Exec。在.targets文件中搜索设置该内部属性的位置,您将找到这个PropertyGroup (第152行):

代码语言:javascript
复制
<PropertyGroup Label="Build properties">
  <_BlazorShouldLinkApplicationAssemblies Condition="$(BlazorLinkOnBuild) == 'false'"></_BlazorShouldLinkApplicationAssemblies>
  <_BlazorShouldLinkApplicationAssemblies Condition="$(BlazorLinkOnBuild) == 'true'">true</_BlazorShouldLinkApplicationAssemblies>
  <_BlazorBuiltInBclLinkerDescriptor>$(MSBuildThisFileDirectory)BuiltInBclLinkerDescriptor.xml</_BlazorBuiltInBclLinkerDescriptor>
</PropertyGroup>

这就是为什么将BlazorWebAssemblyEnableLinking)设置为BlazorLinkOnBuild (从3.2.0-preview 3开始,重命名为BlazorLinkOnBuild)允许NCrunch构建项目的原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59466864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档