Tôi muốn mở rộng chủ đề / câu trả lời này với những điều sau đây. Như ai đó đã đề cập, hội nghị được tạo tự động này có thể là một trở ngại cho các công cụ bên ngoài. Trong trường hợp của tôi, khi sử dụng FinalBuilder , tôi đã gặp phải một vấn đề là hội nghịInInfo không được cập nhật bằng hành động xây dựng. Rõ ràng, FinalBuilder dựa vào ~proj
tệp để tìm vị trí của Hội nghị . Tôi nghĩ rằng, nó đã tìm kiếm bất cứ nơi nào trong thư mục dự án. Không. Vì vậy, thay đổi điều này
<PropertyGroup>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
chỉ thực hiện một nửa công việc, nó cho phép thông tin lắp ráp tùy chỉnh nếu được xây dựng bởi VS IDE / MS Build. Nhưng tôi cần FinalBuilder làm điều đó mà không cần thao tác thủ công để tập hợp thông tin tập tin. Tôi cần phải đáp ứng tất cả các chương trình, MSBuild / VS và FinalBuilder.
Tôi đã giải quyết điều này bằng cách thêm một mục vào hiện tại ItemGroup
<ItemGroup>
<Compile Remove="Common\**" />
<Content Remove="Common\**" />
<EmbeddedResource Remove="Common\**" />
<None Remove="Common\**" />
<!-- new added item -->
<None Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
Bây giờ, có mặt hàng này, FinalBuilder tìm thấy vị trí của AssemblyInfo và sửa đổi các tập tin. Trong khi hành động None
cho phép MSBuild / DevEnv bỏ qua mục này và không còn báo cáo lỗi dựa trên Compile
hành động thường đi kèm với mục Thông tin hội trong proj
tệp.
C: \ Chương trình tập tin \ dotnet \ sdk \ 2.0.2 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.NET.Sdk.DefaultItems.target (263,5): lỗi: Đã bao gồm các mục trùng lặp 'Biên dịch'. .NET SDK bao gồm các mục 'Biên dịch' từ thư mục dự án của bạn theo mặc định. Bạn có thể xóa các mục này khỏi tệp dự án của mình hoặc đặt thuộc tính 'EnableDefaultCompileItems' thành 'false' nếu bạn muốn đưa chúng vào tệp dự án một cách rõ ràng. Để biết thêm thông tin, hãy xem https://aka.ms/sdkimplicititems . Các mục trùng lặp là: 'HộiInfo.cs'