我有一个引用类库项目的 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 命令安装 .\packages\Vert.Commands\Vert.Commands.1.0.0.nupkg
当我尝试运行命令 vm-test-job
时出现错误
System.IO.FileNotFoundException:无法加载文件或程序集“CommandLib,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。
如何安装在引用其他项目的控制台应用程序项目中的命令?
最佳答案
你试过做...
dnu restore
...在安装命令之前?我认为 dnvm 需要在安装之前重建/重新打包您的依赖项。
看看这个链接,它试图实现与我假设的相同的结果。 http://blogs.msdn.com/b/sujitdmello/archive/2015/04/23/step-by-step-installation-instructions-for-getting-dnx-on-your-laptop.aspx
关于c# - 使用项目依赖项作为全局命令运行 Dnx 控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35660939/