Mam rozwiniętych zwyczaj zadanie MSBuild nazywa ExportSolution i muszę przekazać niestandardowe enum
PackageType wartość.Przełęcz zmienna niestandardowego typu do niestandardowego MSBuild zadania
PackageType jest prosta:
public enum PackageType
{
Managed,
Unmanaged,
Both
}
Skrypt MSBuild jest zbyt prosta:
<Target Name="ExportSolution" DependsOnTargets="BuildTasksDll">
<Message Text="Exporting solution '$(SolutionName)' to '$(SolutionPath)'" />
<ExportSolution SolutionName="$(SolutionName)" PackageType="Both"></ExportSolution>
</Target>
jednak uruchomiony skrypt do tego celu Otrzymuję następujący komunikat o błędzie:
błąd MSB4030: "Obie" jest nieprawidłową wartością dla parametru "PackageType" ter zadania "ExportSolution". Parametr "PackageType" ma typ "Tasks.Common.PackageType".
W jakim formacie powinienem podać wartość zmiennej PackageType, aby ten kod działał?
Czy próbowałeś przekazać go jako pełną nazwę typu, np. 'Tasks.Common.PackateType.Both'? Innym rozwiązaniem może być przekazanie go jako ciąg, a następnie przeanalizowanie go wewnątrz zadania – Pako
@Pako Próbowałem takiego podejścia, nie ma różnicy, niestety ... – shytikov
"Obie" ma wartość 2, więc przekazanie "2" do własność może działać. Nie będzie to jednak bardzo czytelne, więc myślę, że sugestia Pako, by uczynić właściwość ciągiem i przeanalizować go wewnątrz zadania, może być lepsza. . –