Problémák a géppel és TFS

szavazat
10

Valószínű, hogy a probléma a TFS Visual Studio projekt végzett együtt géppel.

Az építmények TSC nem tudja felülírni a csak olvasható Js file dob Permission denied.

Error   1   Permission denied   
Error   2   The command C:\Program Files (x86)\Microsoft SDKs\TypeScript\0.8.0.0\tsc 
c:\users\schlicht\documents\visual studio 2012\Projects\TypeScriptHTMLApp1\TypeScriptHTMLApp1\app.ts exited with code 1. 

Lehetséges nélkül kifejezetten megnézni a fájlokat, hogy egy épít a TSC?

A kérdést 08/10/2012 11:30
a forrás felhasználó
Más nyelveken...                            


7 válasz

szavazat
7

Ne ellenőrizze a Js fájlban. Mi ezt a módszert alkalmazza a géppel projekt és jól működik. Nincs szükség, hogy a generált Js a forrás ellenőrzése; Szerintem a Js fájlokat, mint a projekt kimenet, mint egy .exe vagy .dll.

Válaszolt 14/10/2012 02:59
a forrás felhasználó

szavazat
4

Most, ha az építmény kiszolgáló úgy van beállítva a géppel távon TSC fog futni, és ezáltal a JavaScript fájlokat.

Itt van egy másik alternatív megoldás arra az esetre, ha nem akarja távolítani a JS fájlt. Mert, ha eltávolítja a JS egyelőre, és bármely más fejlesztő ellenőrzés azokban a fájlt ismét TFS, ugyanaz a hiba jön elő. (Több, mint azok a rejtett fájlokat, így ha nem a check-in óvatosan, akkor lehet bejelentkezve az TFS)

Ebben az esetben lehet futtatni a Pre-Build esemény, amely eltávolítja az összes írásvédett attribútumot a JS fájlokat, hogy a projekt.

1. Kattintson a jobb a Project és nyissa ki a Project Property Window

2. Válassza ki a Építőanyag Event Tab

írja kép leírása itt

Ez biztosítja, az összes JS fájl kiadása a csak olvasható attribútumokkal és nem lesz semmilyen hibát írni a fájlba nem sikerült.

Remélem ez segít.

Forrás: http://dailydotnettips.com/2014/05/03/typescript-emit-error-write-to-file-failed-how-to-resolve

Válaszolt 28/11/2015 06:05
a forrás felhasználó

szavazat
1

Itt egy megoldás: Annak érdekében, hogy a JS fájlokat részeként a projekt és a forrás ellenőrzés.

Használjon helyi munkaterület, mivel ez nem vonatkozik a csak olvasható zászlót fájlokat, így a megtakarítás a Js fájlokat nem igényelnek check-out, hogy ez legyen írva.

Ezt találtam, mert nem tapasztalható a probléma, de a többiek a csapatban volt, hogy miután néhány ásó rájöttem, mi más volt. Én egy helyi munkaterület helyett Server munkaterület.

A csapat többi tagja is átalakítható Helyi munkaterület és ezek sima vitorlázás ismét.

Válaszolt 18/07/2013 11:30
a forrás felhasználó

szavazat
1

Ez egy ismert hiba (vagy hiányzó funkció):

http://typescript.codeplex.com/workitem/108

Válaszolt 08/10/2012 14:52
a forrás felhasználó

szavazat
0

Probléma:
Ha hozzá a létrehozott * .js fájlok TFS, majd TFS levelet-megvédi őket, ha megnézed őket, vagy nem ellenőrzik őket. Tehát, ha megváltoztatja a * .ts fájlt, akkor nem generál a * Js fájlt, mert a fájl írásvédett.
==> Hiba
De ha nem ellenőrzi őket, a * .js fájl hiányzik, ha fut telepíteni.
==> fordít, de Runtime error
Továbbá, ha szükség van rá, mint egy beágyazott forrás, akkor nem zárja ki a fájlt ...

További probléma 1:
Ha fut „újraépítése megoldás”, a Visual Studio törölni szeretné a * .js fájlok által generált géppel, mielőtt végrehajtja építeni.
De törlés nem lehetséges, mert a * Js fájlokat írásvédett ...
==> Error

További probléma 2:
Mivel tiszta nem „Build”, az előre építeni események nem kerülnek végrehajtásra a tiszta ...
Tehát, ha eltávolítja a írásvédelem a pre-build, akkor fog működni, ha „építeni”, de ez sikertelen lesz, ha úgy dönt, „újraépítése”, függetlenül attól, hogy te azt a megoldást, vagy a projektben.

További probléma 3:
Nem lehet meghatározni egy előre tiszta esemény parancsot a projekt-beállítások szerkesztő.

Szóval, itt van, mit tehetünk:
Run attrib -r /s(eltávolítja írásvédelem) a typescripted * .js fájlok pre-build lépéseket.
például

attrib -r /s "$(ProjectDir)Resources/Scripts/0/*.js"

Ez működik, mert * bővült:

  • Ha a fájl nem létezik, nincs hiba, mert nem parancs kerül végrehajtásra.
  • Ha a fájl nem létezik, nincs hiba, a parancs végrehajtásra kerül.

Ha azt futtatni egy fájlnevet, akkor nem, ha a fájl nem létezik.

Most meg kell szerkeszteni a projekt fájlt (* .csproj) kézzel, hogy adjunk egy előre tiszta cselekvés.
A pre-tiszta cselekvés ugyanaz, mint a pre-build lépéseket.

  <Target Name="BeforeClean">
    <!-- DO YOUR STUFF HERE -->
    <Exec Command="attrib -r /s &quot;$(ProjectDir)Resources/Scripts/0/*.js&quot;" />
  </Target>

És tessék. Most megnézheted a * .js fájlok, lehet szerkeszteni a * .ts fájlt (akkor kell Védelem a * Js fájlt, vagy fuss építmények utána)

Ha azt szeretnénk, hogy futtatni a file-onként alapján a parancs:

if EXIST "$(ProjectDir)Resources/Scripts/0/leaflet.EasyAjax.js" (
attrib -r "$(ProjectDir)Resources/Scripts/0/leaflet.EasyAjax.js"
)

vagy XML formátumú:

<Exec Command="if EXIST &quot;$(ProjectDir)Resources/Scripts/0/leaflet.EasyAjax.js&quot; (&#xD;&#xA;attrib -r &quot;$(ProjectDir)Resources/Scripts/0/leaflet.EasyAjax.js&quot;&#xD;&#xA;)" />

És ahelyett, hogy eltávolítja a írásvédett attribútummal nagykereskedelmi a pre-build akció, akkor is ellenőrizze az egyes fájlokat ki a TFS parancssori eszközt:
"$(DevEnvDir)CommonExtensions/Microsoft/TeamFoundation/Team Explorer/tf.exe" checkout /lock:none "$(ProjectDir)Resources/Scripts/0/leaflet.EasyAjax.js"

By the way, akkor talál egy listát VisualStudio / MSBuild makrók itt:
https://docs.microsoft.com/en-us/cpp/ide/common-macros-for-build-commands-and-properties?view= vs 2017

És, hogy megtudja, a tényleges érték a makrót:

  • jobbklikk a projekt a Solution Explorerben válasszuk a Tulajdonságok
  • válassza ki a Beépített Events fülre
  • kattintson a Szerkesztés pre-build vagy szerkesztése utáni építmények gomb, vagy finom
  • A felugró ablakban kattintson a Makrók gombot
  • görgessen a listában, amíg nem talál ProjectDir, a következő panelre van tényleges értéke

Továbbá, ahelyett, hogy a pre-build esetén a projekt, akkor adjuk hozzá a pénztárnál, mint BeforeBuild célzott parancsot. Így senki nem tudja eltávolítani accidentially ha tesz valamit a pre-build projekt-beállításokat.

  <Target Name="BeforeBuild">
    <Exec Command="&quot;$(DevEnvDir)CommonExtensions/Microsoft/TeamFoundation/Team Explorer/tf.exe&quot; checkout /lock:none &quot;$(ProjectDir)Resources/Scripts/0/leaflet.EasyAjax.js&quot;" />
  </Target>
Válaszolt 06/02/2019 13:09
a forrás felhasználó

szavazat
0

Válaszul az emberek arra utal kizárása Js fájlokat a projekt, azt kell mondani, hogy ez csak akkor működik a kis- és egységes megoldás szoftver. Egy nagy szoftver alkalmazás, azaz egy ERP, ott általában van több megoldás modulonként, és mikor van Js fájlokat maguknak, nyilvánított Js és egyéb forrásfájljai ilyen típusú általában azáltal, hogy „beágyazott erőforrások” és néhány egyéni virtuális útvonalat vagy valami.

Szóval, mi működik? Ez a megoldás talán segít, azt javasoljuk, hogy próbálja ki.

De egyébként, mint említettük AM. Ez egy ismert hiba. És azt hiszem, a legjobb megoldás a géppel fordító lenne, hogy kihagyja az írás Js fájlokat azoknak .ts fájlok írásvédett (bejelentkezett) magukat.

Válaszolt 06/07/2015 06:14
a forrás felhasználó

szavazat
0

Azt tapasztaltam ezt tegnap.

Ahogy Iano megállapította, ne add a generált Js TFS; vagy add tf checkoutés tf checkina BeforeBuild célt.

Válaszolt 20/11/2012 13:43
a forrás felhasználó

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