7

Mam kilka plików licencji (.lic), które są wymagane przez różne komponenty stron trzecich, z których każda wymaga obecności pliku licencji w folderze bin.Jak dołączyć pliki licencji (.lic) do mojego folderu bin, upewniając się, że są one objęte kontrolą źródła?

Ponieważ pominięto mój folder bin od kontroli źródła, odniesienia i pliki licencji umieszczone w bin nie są kontrolowane przez źródło. Zgodnie z this answer przeniosłem moje wstępnie skompilowane odniesienia do innej lokalizacji, która jest objęta kontrolą źródła i odwołuje się do nich w moim projekcie za pomocą ścieżki względnej. Kiedy buduję, te pliki DLL są poprawnie zawarte w moim katalogu bin.

O ile wiem, nie mogę użyć tej samej metody dla plików licencji. Muszą być przechowywane w moim projekcie Visual Studio. W programie Visual Studio, , w jaki sposób mogę przechowywać pliki licencji w lokalizacji objętej kontrolą kodu źródłowego i czy mam je opublikować w folderze bin w czasie kompilacji?

Odpowiedz

11

Sposób, w jaki to zrobiłem, to umieszczenie moich plików licencji w katalogu głównym projektu (wyobrażam sobie, że możesz umieścić je w dowolnym miejscu w projekcie). Następnie ustawić ich właściwości (Ctrl-kliknij każdy plik .lic i naciśnij Alt + Wprowadź, lub kliknij przycisk Właściwości kartę):

Properties

Ustawianie Copy to output directory "Kopiuj zawsze" powoduje pliki do przeniesienia do folderu bin w czasie kompilacji.

Ustawienie Build action na "Brak" uniemożliwia publikowanie plików w ich oryginalnej lokalizacji wraz z inną zawartością. Bez tego ustawienia pliki licencji byłyby publikowane w katalogu głównym witryny i mogły zostać pobrane.

+0

Uwaga: znalazłem ten nie działa, gdy mój plik był w folderze 'App_Data'. Przeniesiono go do katalogu głównego serwisu i działa jak urok. – theyetiman

0

Możesz dodać poniżej ustawienia w pliku Web.config, zapewni to, aby opublikować plik LIC

<configuration> 
    <system.web> 
    <compilation> 
     <buildProviders> 
     <remove extension=".lic"/> 
     <add extension=".lic" 
      type="System.Web.Compilation.ForceCopyBuildProvider"/> 
     </buildProviders> 
    </compilation> 
    </system.web> 
</configuration>