Tôi có một giải pháp C# với một số dự án, một trong số đó là một máy chủ web chạy bởi IIS. Tôi đã đặt <UseGlobalApplicationHostFile>True</UseGlobalApplicationHostFile>
trong tệp csproj của dự án đó.IIS CLI tạo applicationhost.config với trang web cho dự án của tôi
Khi tôi mở Visual Studio, nó tạo này trong ~/Documents/IISExpress/config/applicationhost.config:
<sites>
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
<site name="SealingService" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\sehch\Documents\Paragon\ParagonCore\servers\SealingService\SealingService" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:61800:localhost" />
<binding protocol="https" bindingInformation="*:44300:localhost" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="Clr4IntegratedAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
Tôi muốn để có thể chạy dự án của tôi với IIS Express từ dòng lệnh (để xây dựng mục đích thử nghiệm tích hợp máy chủ). Làm thế nào tôi có thể tạo ra các trang web SealingService
của applicationhost.config từ dòng lệnh (không cần mở Visual Studio)?
Tôi đã cố gắng chạy
"C:\Program Files (x86)\IIS Express\iisexpress.exe"
trong thư mục giải pháp của tôi, nhưng nó chỉ tạo ra phần WebSite1
.
Tôi nghĩ đó là đúng một tính năng VS. Tại sao bạn muốn nó được "tạo ra"? Bạn luôn có thể đặt một bản sao của 'applicationHost.config' trong repo của bạn và trên máy CI, chạy IIS Express từ dòng lệnh để đọc tệp cấu hình đó. –
@LexLi Tôi có thể làm điều đó, nhưng làm thế nào để tôi đặt 'physicalPath' khác nhau cho máy cục bộ và CI? Chúng tôi muốn có thể chạy thử nghiệm theo yêu cầu cục bộ, lý tưởng nhất là không thay đổi tệp cấu hình. –
Để một biến môi trường trong đường dẫn, và sau đó đặt nó trong chuỗi CI của bạn vào thư mục chính xác, tôi nghĩ nó sẽ hoạt động. –