Câu hỏi này là loại hai phần tử. Trong VS2015 dự án MVC của tôi có nhiều cấu hình xây dựng khác nhau, Kiểm tra, UAT, Trực tiếp v.v. Với web.config
Tôi chỉ cần nhấp chuột phải vào nó và chọn Thêm Cấu hình Biến đổi để tạo các tệp biến đổi cho mỗi cấu hình xây dựng.Việc chuyển đổi các tệp cấu hình được bao gồm bằng cách sử dụng configSource
Nếu tôi có tệp cấu hình bên ngoài, chẳng hạn như Log4Net.config
làm cách nào tôi có thể định cấu hình để có các biến đổi phụ thuộc như web.config
? Việc này có được thực hiện thủ công bằng cách chỉnh sửa tệp project.csproj
không?
Thứ hai, tôi có một tập tin web.config
như sau:
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, Log4net" />
</configSections>
...
<log4net configSource="Log4Net.config" />
</configuration>
Khi tôi xây dựng dự án, web.config
sẽ tự động được chuyển thông qua các mục tiêu AfterBuild sau trong file project.csproj
:
<Target Name="AfterBuild">
<TransformXml Source="Web.config"
Transform="Web.$(Configuration).config"
Destination="$(OutputPath)\$(AssemblyName).config" />
</Target>
thế nào có thể Tôi chuyển đổi tệp đính kèm Log4Net.config
bằng cách sử dụng cùng một chuyển đổi cấu hình? Tôi nhận ra rằng tôi có thể đặt một số khác TransformXml
vào mục tiêu Sau khi xây dựng, nhưng đây có phải là cách chính xác để thực hiện việc chuyển đổi này hay tôi thiếu một cái gì đó?
Tôi gặp vấn đề tương tự. Bạn đã quản lý để giải quyết nó? –
@MatiasCicero Tôi đã giải quyết nó bằng cách sử dụng một TransformXml bổ sung trong mục tiêu AfterBuild. Tôi đã vạch ra nó trong câu trả lời dưới đây. HTH. – MrDeveloper