Hvordan bygge drevne vNext program fra Windows Powershell?

stemmer
10

Jeg prøver å bygge en konsoll applikasjon i .NET vNext fra Windows Powershell. Så langt jeg har oppgradert pakken ved

kvm oppgradering

som fikk jeg pakke versjon KRE-svr50-x86.1.0.0-alpha3-10070 og også sjekket alias for å tilpasse den versjonen.

Nå skrev jeg en konsoll app inneholder følgende linjer:

using System;

public class Program
{
    public static void Main()
    {
        Console.WriteLine(Why Soo serious!!!! );
    }
}

og nedenfor den project.json

{
  dependencies: {
    System.Console: 4.0.0.0
  },
  configurations: {
    net45: {},
    k10: {}
  }
}

Og nå, når jeg prøver å kjøre dette fra Windows Poweshell det viser seg mangler dll (spesielt namespace System) Bellow bygge utgang:
(både JSON og CS-filer i samme mappe slik at ingen feil relatert til JSON)

kpm build

(1,12): error CS0246: Den type eller navneromnavnet 'System' kunne ikke funnet (du mangler en, med direktiv eller en forsamling referanse?)

Hvordan henvise biblioteket. Kan du hjelpe meg å finne hvor (hva) jeg mangler og hvordan å fikse det ...

Publisert på 02/07/2014 klokken 06:44
kilden bruker
På andre språk...                            


2 svar

stemmer
12

Ditt problem er knyttet til nuget konfigurasjon.

For å se hvordan det fungerer gå til din project.json mappe og gjøre en "kpm gjenoppretting". du vil se:

Finner ikke System.Console> = 4.0.0.0

Dette happends fordi kpm bruker en annen nugget depot nemlig: https://www.myget.org/F/aspnetvnext/

Depotet har ingen nuget pakke for System.Console

For å løse dette trenger du en NuGet.Config fil rett utenfor project.json mappen der du vil angi standard nuget repository (for å få System.Console pakken) og asp.net vnext repository slik at du kan få asp.net vnext spesifikke repositories.

Denne filen skal se omtrent slik ut:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="AspNetVNext" value="https://www.myget.org/F/aspnetvnext/" />
    <add key="NuGet.org" value="https://nuget.org/api/v2/" />
  </packageSources>
  <packageSourceCredentials>
    <AspNetVNext>
      <add key="Username" value="aspnetreadonly" />
      <add key="ClearTextPassword" value="4d8a2d9c-7b80-4162-9978-47e918c9658c" />
    </AspNetVNext>
  </packageSourceCredentials>
</configuration>

Se også opp for mappestruktur:

/ - root folder
- NuGet.config
- your project folder
-- project.json
-- source code files

Når du har opprettet mappestrukturen som eksemplifisert og sette NuGet.config på rett sted du gjør en "kpm restaurere" og du vil se at System.Console er løst og deretter utstede "kpm build" alt bygger på riktig måte

Svarte 03/07/2014 kl. 15:56
kilden bruker

stemmer
7

Hvis du fremdeles har dette problemet, og jeg var under 10,10, prøv å endre din project.json fil til dette:

"dependencies": {
  "System.Console": "4.0.0-beta-22210"
},

(Tankene du, som må oppdateres som System.Console endres, men minst vil du være i stand til å kompilere i dag).

Svarte 20/11/2014 kl. 23:58
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more