【发布时间】:2016-02-26 20:17:23
【问题描述】:
我有一个引用类库项目的 DNX 控制台应用程序。我正在尝试发布它并将其安装为全局命令。
控制台项目Program.cs
namespace Vert.Commands
{
public class Program
{
public static void Main(string[] args)
{
var test = new ConsoleWriter();
test.Talk("Test", ConsoleColor.Cyan);
}
}
}
控制台项目project.json
{
"version": "1.0.0-*",
"description": "Test App",
"authors": [ "vrybak" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"CommandLib": "1.0.0-*"
},
"commands": {
"vm-test-job": "Vert.Commands"
},
"frameworks": {
"dnx451": {}
}
}
类库:CommandLib 文件:ConsoleWriter
namespace CommandLib
{
public class ConsoleWriter
{
public void Talk(string message, ConsoleColor color)
{
var currentColor = Console.ForegroundColor;
Console.ForegroundColor = color;
Console.WriteLine(message);
Console.ForegroundColor = currentColor;
}
}
}
类库:project.json
{
"version": "1.0.0-*",
"description": "CommandLib Class Library",
"authors": [ "vrybak" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"dnx451": { }
}
}
我正在尝试安装一个全局命令vm-test-job
为此,我
- cd 进入
src/Vert.Commands文件夹 - 将其作为包发布
-
dnu publish --no-source -o artifacts\publish - cd
\artifacts\publish\approot dnu commands install .\packages\Vert.Commands\Vert.Commands.1.0.0.nupkg
当我尝试运行我的命令 vm-test-job 时出现错误
System.IO.FileNotFoundException: Could not load file or assembly 'CommandLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
如何安装控制台应用项目中引用其他项目的命令?
【问题讨论】:
-
欢迎来到 StackOverflow。请您指定操作系统(我猜是 Windows),您使用的框架版本。谢谢。
-
您是否指定了此处指定的依赖项:docs.asp.net/en/latest/dnx/projects.html#adding-dependencies
-
我确实指定了我的依赖项,在我的 project.json 文件中查看它们