Có 2 file, một cho thứ tĩnh và một cho tự động tạo bit.
Mẫu mà tôi thường áp dụng là có SolutionInfo.cs
được chia sẻ giữa các dự án và AssemblyInfo.cs
cho mỗi dự án duy nhất cho mỗi dự án.
Một cấu trúc ví dụ thư mục có thể là
src
| Solution.sln
| SolutionInfo.cs
|
\--- Project
| Project.csproj
|
\---Properties
AssemblyInfo.cs
Và về cơ bản tập tin csproj của bạn sẽ thay vì:
<Compile Include="Properties\AssemblyInfo.cs" />
Hãy cái gì đó như:
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\SolutionInfo.cs">
<Link>Properties\SolutionInfo.cs</Link>
</Compile>
Bằng cách này bạn giữ bất kỳ nhãn hiệu chỉnh sửa cho số AssemblyInfo.cs
của bạn và có thể tự động tạo an toàn mà không có nguy cơ ghi đè lên t thông tin.
Điều này cũng cho phép bạn chia sẻ những thứ như phiên bản/bản quyền/công ty giữa các dự án trong một giải pháp.
Phần Bánh xây dựng kịch bản này sẽ giống như thế này:
Task("SolutionInfo")
.IsDependentOn("Clean")
.IsDependentOn("Restore")
.Does(() =>
{
var file = "./src/SolutionInfo.cs";
CreateAssemblyInfo(file, assemblyInfo);
});