dotnet/msbuild

can't use enum parameter type from arbitrary assembly

Open

#316 opened on 2015年10月23日

GitHub で見る
 (1 comment) (1 reaction) (1 assignee)C# (5,062 stars) (1,364 forks)batch import
help wantedtriaged

説明

I have a custom msbuild task that specifies a public parameter of an enum type (CompressionLevel). msbuild rejects the parameter, even though the assembly reference is listed.

D:\CustomTasks.proj(52,25): error MSB4022: The result "System.IO.Compression.CompressionLevel" of evaluating the value "System.IO.Compression.CompressionLevel" of the "ParameterType" attribute in element <Parameter> is not valid. 
<UsingTask TaskName="ZipDirectory" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
 <ParameterGroup>
  <Directory ParameterType="System.String" Required="True"/>
  <DestinationZipFile ParameterType="System.String" Required="True"/>
  <CompressionLevel ParameterType="System.IO.Compression.CompressionLevel" />
 </ParameterGroup>
 <Task>
  <Reference Include="System.IO.Compression.FileSystem"/>
  <Code Source="$(BuildScriptsDirectory)\ZipDirectory.cs"/>
 </Task>
</UsingTask>

コントリビューターガイド