【问题标题】:.Net Core 2 not building my SPA because it can't Exec properly?.Net Core 2 没有构建我的 SPA,因为它无法正确执行?
【发布时间】:2019-01-29 15:18:46
【问题描述】:

我使用 .Net Core 2.0 模板创建了一个 React+Redux。 我没有改变任何东西但它不是内置的。

严重性代码描述项目文件行抑制状态 警告 MSB3073 命令“node --version”以代码退出 1.WebApplication2 C:\Tests\WebApplication2\WebApplication2\WebApplication2.csproj 25

然而,节点已正确安装,当我在提示符下(从任何驱动器/目录)运行“node --version”时,我得到v8.4.0 并且没有错误代码(预期行为)。

我尝试在 .csproj 文件中使用完整路径

<Exec Command="&quot;C:\Program Files\nodejs\node&quot; --version" ContinueOnError="true">
  <Output TaskParameter="ExitCode" PropertyName="ErrorCode" />
</Exec>

我仍然遇到同样的错误

严重性代码描述项目文件行抑制状态 警告 MSB3073 命令 ""C:\Program Files\nodejs\node" --version" 退出代码 1.WebApplication2 C:\Tests\WebApplication2\WebApplication2\WebApplication2.csproj 25

重新安装了 NodeJS,结果相同。

然后我什至尝试了一个调用 dos echo 0 的虚拟任务,但它仍然失败。

严重性代码描述项目文件行抑制状态 警告 MSB3073 命令“echo 0”以代码退出 1.WebApplication2 C:\Tests\WebApplication2\WebApplication2\WebApplication2.csproj 25

发生了什么事?

这是进行检查的整个片段:

<Target Name="DebugRunWebpack" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('wwwroot\dist') ">
  <!-- Ensure Node.js is installed -->
  <Exec Command="&quot;C:\Program Files\nodejs\node&quot; --version" ContinueOnError="true">
    <Output TaskParameter="ExitCode" PropertyName="ErrorCode" />
  </Exec>
  <Error Condition="'$(ErrorCode)' != '0'" Text="Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE." />

  <!-- In development, the dist files won't exist on the first run or when cloning to
       a different machine, so rebuild them if not already present. -->
  <Message Importance="high" Text="Performing first-run Webpack build..." />
  <Exec Command="node node_modules/webpack/bin/webpack.js --config webpack.config.vendor.js" />
  <Exec Command="node node_modules/webpack/bin/webpack.js" />
</Target>

【问题讨论】:

  • 你也可以在另一台机器上试试这个吗?你用的是哪个版本的windows? (我无法使用您的样本重现此内容..)
  • Windows 7,我尝试了另一台机器(在我工作的同一组织中)并得到了相同的结果。但后来我尝试在管理员模式下运行的“命令提示符”中运行该命令,它起作用了。
  • 哦..托管企业环境?
  • 是的,显然对开发工具有一些不利影响。

标签: build csproj .net-core-2.0


【解决方案1】:

这与某种安全问题有关。

从具有管理员权限的命令提示符运行“dotnet run”“修复”了问题。

【讨论】:

    【解决方案2】:

    我遇到了这个问题(我意识到我的 node_modules 文件夹不存在)所以我将我的 .Net Core 应用程序升级到 2.1 并运行 npm i 并且工作正常。 试试 npm i 再试一次也没坏处

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 2021-07-27
      • 2018-02-01
      • 1970-01-01
      • 2011-11-24
      相关资源
      最近更新 更多