我有一个msbuild在编译时调用*.sln
文件。此解决方案文件包含10个csproject,其中一个(我们称之为main.csproject
)AssemblyName
为WinMusic
。 msbuild的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- Default value here -->
<DefineConstants Condition=" '$(DefineConstants)'==''" >TRACE</DefineConstants>
<SlnFiles Condition=" '$(SlnFiles)'==''" >FullProject.sln</SlnFiles>
</PropertyGroup>
<!-- <ItemGroup> -->
<!-- <SlnFiles Include="SlnFiles=$(SlnFiles2)"/> -->
<!-- </ItemGroup> -->
<Target Name="Build">
<MSBuild Projects="$(SlnFiles)"
Properties="DefineConstants=$(DefineConstants)"/>
</Target>
</Project>
我的问题是,如何从上面的msbuild任务设置AssemblyName
属性?
只是为了澄清,我在csproject中谈论的是AssemblyName
,而不是AssemblyInfo.cs
。
编辑:这是我尝试的新build.proj
文件,FullProject.sln
是一个带有一个exe和一个dll的解决方案文件,但是msbuild文件将dll和exe重命名为{{1 }}。我想要的只是将exe重命名为NoMusic
,并且dll应该保留相同的名称。
NoMusic
答案 0 :(得分:2)
这样做:
<Target Name="Build">
<MSBuild Projects="@(SlnFiles)"
Properties="DefineConstants=$(DefineConstants)"/>
<MSBuild Projects="main.csproject.csproj"
Properties="AssemblyName=NoMusic"/>
喜欢知道为什么。