以下是this问题。
我有一个Windows服务应用程序,我希望在其中提供单个html页面以显示服务的简单运行时信息。我发现实用程序内联器允许我将我的Web文件合并到一个单独的html文件中,这很容易通过在windows服务中运行的自托管web api来提供。
我想自动运行脚本来构建这个单个html文件,所以我将命令行放入.bat / .cmd文件,然后从Visual Studio 2015 post build事件中调用它。源html文件有几个对脚本和css的引用,例如
<head>
<link href="lib\css\bootstrap.css" rel="stylesheet" type="text/css" />
<script src="lib\js\jquery-2.2.1.js"></script>
<script src="_default.js"></script>
</head>
.cmd(或.bat)文件的内容如下
echo %1
cd %1
dir .
where inliner
inliner -vs _default.html > default.html
在Visual Studio post build中,我有
call "$(ProjectDir)\WebAdminPanel\build.bat" "$(ProjectDir)\WebAdminPanel"
echo
和dir.
只是调试输出,所以我可以看到目录已正确更改(我认为这可能是问题)
批处理文件(现在可以在我手动运行时运行)运行,但我仍然得到一个空的输出文件。
-v
标志应该使实用程序运行详细,但我在Visual Studio输出窗口中看不到任何输出;也许这有助于看出出了什么问题。我怀疑也许是找不到包含,但不确定。
是否有人熟悉此实用程序,并且当我将其作为Visual Studio后期构建任务运行时,可能知道它失败的原因?
提前感谢您的帮助。
(适用EDIT)
在visual studio输出窗口中,我看到了
1> Directory of H:\dev\myapp\WebAdminPage
1>
1> 11/03/2016 03:10 PM <DIR> .
1> 11/03/2016 03:10 PM <DIR> ..
1> 11/03/2016 03:10 PM 79 build.bat
1> 11/03/2016 03:09 PM 182 default.html
1> 07/03/2016 12:41 PM <DIR> lib
1> 10/03/2016 11:12 PM 2,025 _default.html
1> 10/03/2016 11:06 PM 2,412 _default.js
1> 4 File(s) 4,698 bytes
1> 3 Dir(s) 1,376,883,204,096 bytes free
1> C:\Users\peterc\AppData\Roaming\npm\inliner
1> C:\Users\peterc\AppData\Roaming\npm\inliner.cmd