我正在尝试在构建期间更改我的 dll 的程序集名称。我创建了另一个 exe,它更改了我在预构建期间执行的 csproj 文件中的程序集名称。但似乎我对 csproj 文件的更改只有在构建完成后才会生效,这当然不是我想要的。
程序集名称在每次构建时都必须是唯一的,因此我通过附加 GUID 来创建它。
var xmlDoc = XDocument.Load(projectFile);
XNamespace ns = "http://schemas.microsoft.com/developer/msbuild/2003";
string newAssemblyName = originalAssemblyName + "_" + Guid.NewGuid().ToString("N");
xmlDoc.Element(ns + "Project").Element(ns + "PropertyGroup").Element(ns + "AssemblyName").Value = newAssemblyName;
xmlDoc.Save(projectFile);
我想知道是否有一种方法可以在预构建期间“强制”重新加载 csproj,或者是否有另一种方法可以在每次构建解决方案时获得唯一的程序集名称。