Msbuild v15 no puede resolver las variables de metadatos del archivo nuspec
Sé que desde el lanzamiento de msbuild 15 (en comparación con 2017), NuGet ahora está completamente integrado en MSBuild.
Tengo un archivo nuspec con variables de definición de propiedades de paquete como:
<metadata>
<id>$id <metadata>
<id>$id$</id>
<version>$version$</version>
<authors>$authors$</authors>
...
</metadata>
lt;/id>
<version>$version <metadata>
<id>$id$</id>
<version>$version$</version>
<authors>$authors$</authors>
...
</metadata>
lt;/version>
<authors>$authors <metadata>
<id>$id$</id>
<version>$version$</version>
<authors>$authors$</authors>
...
</metadata>
lt;/authors>
...
</metadata>
El archivo nuspec se encuentra en la misma carpeta del proyecto.
Cuando se usa la herramienta nuget para crear el paquete, funciona bien.
nuget pack
Cuando se usa msbuild v15, se genera una excepción.
ejecute el comando:
msbuild -version
Microsoft (R) Build Engine versión 15.8.168 + ga8fba1ebd7 para .NET Framework 15.8.168.64424
msbuild /t:pack /p:configuration=release /p:NuspecFile=mylib.nuspec
xcepción de aumento:
C: \ Archivos de programa \ dotnet \ sdk \ 2.1.402 \ Sdks \ NuGet.Build.Tasks.Pack \ build \ NuGet.Build.Tasks.Pack.targets (199,5): error: el valor no puede ser nulo o cuerda vacía
Lo extraño es que dotnet sdk versión 2.1.402 plantea la excepción.
ntenté instalar msbuild con vs2017 con su ruta y también genera la misma excepción.
Cuando sustituyo las variables con sus valores, msbuild funciona bien.
La pregunt
Es esto un error en la versión 15.8.168.64424 de msbuild o me perdí algo?
n otras palabras, ¿puede msbuild admitir el uso de las variables de metadatos del paquet