2016-02-26 10 views
7

Ho un'applicazione console DNX che fa riferimento a un progetto di libreria di classi. Sto cercando di pubblicarlo e installarlo come comando globale.Esecuzione di un'app Console Dnx con dipendenze di progetto come comando globale

Lo sto facendo su Windows 10 OS. Projects Tree

Progetto Console Program.cs

namespace Vert.Commands 
{ 
    public class Program 
    { 
     public static void Main(string[] args) 
     { 
      var test = new ConsoleWriter(); 
      test.Talk("Test", ConsoleColor.Cyan); 
     } 
    } 
} 

Progetto Console 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": {} 
    } 
} 

Class Library: CommandLib File: 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; 
     } 
    } 
} 

Class Library: project.json

{ 
    "version": "1.0.0-*", 
    "description": "CommandLib Class Library", 
    "authors": [ "vrybak" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 
    "frameworks": { 
    "dnx451": { } 
    } 
} 

Sto cercando di installare un comando globale vm-test-job Per fare questo ho

  1. cd nella cartella src/Vert.Commands
  2. pubblicarlo come un pacchetto
  3. dnu publish --no-source -o artifacts\publish
  4. cd \artifacts\publish\approot
  5. dnu commands install .\packages\Vert.Commands\Vert.Commands.1.0.0.nupkg

Quando si tenta di eseguire il mio comando vm-test-job ho un errore 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.

Come si installa un comando che è in un progetto console app che fa riferimento a altri progetti?

+0

Benvenuti in StackOverflow. Per favore, potresti specificare OS (suppongo che sia Windows), la versione del framework che usi. Grazie. – Fab

+0

Hai specificato le dipendenze come specificato qui: http://docs.asp.net/en/latest/dnx/projects.html#adding-dependencies – Fab

+0

Ho specificato le mie dipendenze, dare un'occhiata a loro nel mio file project.json –

risposta

1

Hai provato a fare un ...

dnu restore 

... prima di installare il comando? Penso che dnvm abbia bisogno di ricostruire/reimballare le dipendenze prima di installare.

Dai un'occhiata a questo link, che cerca di ottenere la stessa cosa che supponi tu. http://blogs.msdn.com/b/sujitdmello/archive/2015/04/23/step-by-step-installation-instructions-for-getting-dnx-on-your-laptop.aspx

+0

Ho già provato a eseguire il ripristino. Non mi permetterebbe di pubblicarlo se i pacchetti dipendenti non fossero lì. Il problema è che quando provo a installare un comando globale, dnx non sa dove trovare i riferimenti del progetto. –

Problemi correlati