У меня есть msbuild, который вызывает файл *.sln
при компиляции. Этот файл решения содержит 10 csprojects, один из которых (назовем его 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>
У меня вопрос, как установить свойство AssemblyName
из вышеуказанной задачи msbuild?
Просто чтобы уточнить, я говорю о AssemblyName
в csproject, а не в AssemblyInfo.cs
.
Редактировать: это новый build.proj
файл, который я пробовал, FullProject.sln
- это файл решения с одним exe и одной dll, но файл msbuild переименовал dll и exe в NoMusic
. То, что я хочу, это просто переименовать exe в NoMusic
, и DLL должна сохранить то же имя.
<?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>
<Target Name="Build">
<MSBuild Projects="$(SlnFiles)"
Properties="DefineConstants=$(DefineConstants)"/>
<MSBuild Projects="WindowsFormsApplication1\WindowsFormsApplication1.csproj"
Properties="DefineConstants=$(DefineConstants);Platform=ANYCPU;AssemblyName=NoMusic"/>
</Target>
</Project>