6

我有一个简单的 Web 项目,其中包含 bower.json、package.json 和 Gruntfile.js 我已经修改了我的 .csproj 文件以添加要运行的目标

  1. npm 安装
  2. 凉亭安装
  3. 咕噜声构建

npm install 运行良好,但无法运行 bower install。这就是我从日志中得到的全部

node_modules\.bin\bower cache clean
node_modules\.bin\bower install

C:\a\src\TestProj\TestProj\TestProj.csproj(137,5): error MSB3073: The command ".\node_modules\.bin\bower install" exited with code 1.

这是我在 csproj 定义中所做的

<Target Name="BeforeBuild">
    <Exec Command="npm cache clean" />
    <Exec Command="npm install" />
    <Exec Command="node_modules\.bin\bower cache clean" />
    <Exec Command="node_modules\.bin\bower install" />
</Target>

这是我的 bower.json

 "name": "TestProj",
 "version": "0.0.1",
 "description": "",
 "main": "index.html",
 "moduleType": [
   "amd"
 ],
 "authors": [
   "Sujesh Arukil"
 ],
 "license": "MIT",
 "private": true,
 "ignore": [
   "**/.*",
   "node_modules",
   "bower_components",
   "test",
   "tests"
 ],
 "devDependencies": {
   "knockoutjs": "~3.2.0"
 }
4

5 回答 5

2

我能够通过在 .csproj 文件中注释掉 bower install 命令来解决这个问题

  <Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
    <!--<Exec Command="bower install" />-->
    <Exec Command="dotnet bundle" />
  </Target>
于 2017-03-22T14:42:01.993 回答
1

bower 安装失败,因为我安装的两个模块依赖于不同版本的 jQuery,找不到解决方案并需要用户输入。通过提供解决方案部分来修复它。

于 2014-11-25T19:04:01.807 回答
0

您应该能够下载一个额外的 MSBuild 日志文件,其中可能包含更多详细信息。如果您查看之前失败的构建而不是单击顶部的“查看日志”链接,然后查看详细信息,您应该会在错误消息后面几行看到日志文件的链接。构建错误

如果我不得不猜测我的头顶虽然你得到了那个错误,因为 git 不可用。

于 2014-10-07T04:46:23.400 回答
0

首先,启用诊断日志记录。

然后修改你的目标:

<Target Name="BeforeBuild">
    <Exec Command="npm cache clean" />
    <Exec Command="npm install" />
    <Message Condition="!EXISTS('node_modules\.bin\bower')" Text="bower does not exist" Importance="high" />
    <Exec Command="node_modules\.bin\bower cache clean" />
    <Exec Command="node_modules\.bin\bower install" />
</Target>
于 2014-08-21T18:55:38.003 回答
0

通过删除 .csproj 文件中的以下代码为我工作。

<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
<Exec Command="bower install" />
<Exec Command="dotnet bundle" />

但是,它确实导致了一些带有重复方法名称的打字稿问题,请将以下代码添加到 tsconfig.json 文件中

"exclude": [ "obj" ]

于 2017-06-09T16:19:22.830 回答