Typescript ve TFS ile ilgili sorunlar

oy
10

Typescript ile birlikte yürütülen TFS Visual Studio projesi ile ilgili bir sorun muhtemelen yoktur.

yapı üzerinde tsc salt okunur .js bir izni reddedildi hata atar dosya üzerine yazamazsınız.

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. 

Mümkün mü olmadan açıkça yapı kullanma dosyaları kontrol ile TSC?

Oluştur 08/10/2012 saat 11:30
kaynak kullanıcı
Diğer dillerde...                            


7 cevaplar

oy
7

js dosyasında kontrol etmeyin. Bizim typescript proje üzerinde bu yaklaşımı kullanmak ve iyi çalışıyor. kaynak denetiminde oluşturulan .js olması gerek yoktur; Bir .exe veya .dll gibi proje çıktısı olarak .js dosyaları düşünüyorum.

Cevap 14/10/2012 saat 02:59
kaynak kullanıcı

oy
4

Oluşturduğunuz yapı sunucu typescript çalışması için yapılandırıldığında Şimdi, eğer TSC çalıştırmak ve JavaScript dosyalarını üretecektir.

Burada JS dosyasını kaldırmak istemiyorum durumda, başka bir alternatif çözümdür. Eğer şimdilik JS kaldırmak ve tekrar TFS içine bu dosyada herhangi diğer geliştirici çek eğer aynı hata meydana gelecektir, çünkü. (Check-in yoksa dikkatli, onlar check-in TFS olabilir böylece o üzerinde daha fazla, gizli dosyalardır)

Bu durumda, tüm salt okunur o proje için JS dosyaları niteliklerini kaldırır Pre-Build olay, çalıştırabilirsiniz.

1. Sağ tıklayın üzerinde Projesi ve aç Proje Mülkiyet Pencere

2. Seç Yapı Olay Tab

Burada görüntü açıklama girin

Bu, sağlayacaktır bütün JS dosyası açma Salt Okunur niteliklerini ve yazma başarısız dosyası için herhangi bir hata olmayacaktır.

Bu yardımcı olur umarım.

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

Cevap 28/11/2015 saat 06:05
kaynak kullanıcı

oy
1

İşte bir çözüm var: projesinin bir parçası olarak ve kaynak denetiminde sizin JS dosyalarına tutmak için.

Bu dosyalar üzerinde salt okunur bayrağı geçerli değildir, bu yüzden yazılmak üzere için .JS dosyaları kaydetme bir check-out ihtiyaç duymadığından, yerel Workspace kullanın.

Ben bu sorunu sergileyen değildi çünkü bunu buldum ama benim takımda Başkaları da vardı, bu yüzden bazı kazma sonra ben farklı ne olduğunu gördük. Bir Local Workspace yerine Sunucu Workspace kullanıyordu.

Diğer ekip üyeleri yerel Workspace dönüştürülür ve onlar bir kez daha pürüzsüz yelken vardır.

Cevap 18/07/2013 saat 11:30
kaynak kullanıcı

oy
1

Bu (veya eksik özelliği) bilinen bir hata olduğunu:

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

Cevap 08/10/2012 saat 14:52
kaynak kullanıcı

oy
0

Sorun:
Eğer TFS * .js oluşturulan dosyalar eklerseniz bunları kontrol etmek veya onları kontrol yoksa, o zaman TFS, onları yazmaya korur. Eğer * ts dosyasını değiştirirseniz dosya yazmaya karşı korumalı olduğu için Yani, * .js dosyasını oluşturamaz.
==> Hata
bunları kontrol yoksa dağıtmak çalıştırmak Ama eğer * .js dosyası eksik olacaktır.
==> derler, ama Runtime hatası
katıştırılmış kaynak olarak gerekirse Ayrıca, dosyayı hariç tutamazsınız ...

Ek sorun 1:
Eğer "yeniden Solution" çalıştırırsanız, Visual Studio bu yapı yürütmeden önce, * typescript tarafından oluşturulan .js dosyaları silmek istiyor.
* .Js dosyaları yazmaya karşı korumalı ... çünkü Ama silme, mümkün değildir
==> Hata

Ek sorun 2:
temiz olmadığından, "İnşa" olaylar temiz idam edilmez önceden inşa ...
Böylece önceden inşa yazma korumasını kaldırmak, eğer bunu size "inşa" yoksa çalışır, ancak Eğer bakılmaksızın Eğer çözeltide veya projede bunu olsun, seçin "yeniden" eğer başarısız olur.

Ek sorun 3:
Sen proje ayarları editörü önceden temiz olay komutunu tanımlayamazsınız.

Yani, burada yapabilecekleriniz:
Run attrib -r /ssizin typescripted üzerinde (kaldırır yazma koruması) * Önceden inşa eylem olarak js dosyaları.
Örneğin

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

* Genişletilir çünkü bu, çalışır:

  • Dosya yoksa hiçbir komut yürütülür çünkü, hiçbir hata yoktur.
  • Dosya varsa, hiçbir hata var, komut yürütülür.

Eğer bir dosya üzerinde çalıştırmak isterseniz dosya yoksa, eğer başarısız olur.

Şimdi, bir ön-temiz işlem eklemek için, elle proje dosyası (* .csproj) düzenlemeniz gerekir.
Önceden temiz eylem öncesi inşa eylem olarak aynıdır.

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

Ve işte oldu. Şimdi de * .js dosyaları kontrol edebilirsiniz, * ts dosyasını düzenleyebilirsiniz (Eğer * Js dosya korumasını gerekir, ya da sonradan yapı çalıştırın edeceğiz)

Eğer bir dosya için ayrı ayrı çalıştırmak isterseniz, komut:

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

veya XML şeklinde bulunur:

<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;)" />

Ve yerine kaldırma salt okunur da TFS komut satırı aracı ile tek tek dosyaları kontrol edebilirsiniz öncesi inşa eylem toptan bağlıyor:
"$(DevEnvDir)CommonExtensions/Microsoft/TeamFoundation/Team Explorer/tf.exe" checkout /lock:none "$(ProjectDir)Resources/Scripts/0/leaflet.EasyAjax.js"

: Bu arada, burada VisualStudio / MsBuild makroları listesini bulabilirsiniz
https://docs.microsoft.com/en-us/cpp/ide/common-macros-for-build-commands-and-properties?view= vs-2017

Ve makro gerçek değerini öğrenmek için:

  • Sağ Solution Explorer projenizde tıklayın seçeneğini Özellikleri
  • seçmek Olayları oluştur sekmesini
  • tıklayın Düzenleme öncesi yapı veya post-build düzenleyin ya gayet düğmesine
  • Açılan pencerede, tıklayın Makro düğmesini
  • Eğer bulana kadar listeyi aşağı kaydırma ProjectDirsonraki bölme gerçek değerdir içinde,

Ayrıca, yerine projede ön build olayı kullanmak yerine, BeforeBuild hedef komutu olarak ödeme ekleyebilir. Onlar proje ayarlarında önceden inşa içine bir şey koyarsanız bu şekilde kimse kaza ile kaldırabilirsiniz.

  <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>
Cevap 06/02/2019 saat 13:09
kaynak kullanıcı

oy
0

Projeden .js dosyaları dışlanmasını düşündüren insanlara cevap olarak, bu sadece küçük ve tek çözüm yazılımında çalışabilir söylemek gerekir. Bir ERP yani büyük bir yazılım uygulamasında, genellikle modül başına birden fazla çözüm yöntemi bulunmaktadır ve her kendileri için .js dosyaları, teslim .js ve bu tür diğer kaynak dosyaları olduğunda genellikle onlara "Gömülü Kaynakları" ve bazı özel yapılarak yapılmıştır sanal yol sağlayıcısı gibi bir şey.

Peki, ne çalışıyor? Bu çözüm Bunu deneyin önermek, size yardımcı olabilir.

Ama her durumda, olarak AM bahsetti. Bu bilinen bir hata olduğunu. Ve typescript derleyici için en iyi çözüm salt okunur (check-in) kendilerini bu ts dosyaları için yazılmak .js dosyaları atlamak için olacağını düşünüyorum.

Cevap 06/07/2015 saat 06:14
kaynak kullanıcı

oy
0

Ben deneyimli bu dün.

Iano belirtildiği gibi, TFS oluşturulan .js katmayan; veya ekleme tf checkoutve tf checkinBeforeBuild hedefe.

Cevap 20/11/2012 saat 13:43
kaynak kullanıcı

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