2
ClickOnce 설치 자동화에 사용되는 msbuild 스크립트가 있습니다. publish 디렉토리에 버전 정보를 추가하려고 시도하는 동안 해당 버전을 사용하여 경로 문자열을 작성하려고 할 때 오류가 발생합니다. 실행할 때 내가 얻을 모두가 비어 % (버전)로 변경하는 경우msbuild 및 ClickOnce의 버전 정보 사용
<Target Name="GetVersion">
<Message Text="Getting version info..."/>
<GetAssemblyIdentity AssemblyFiles="@(GetVersionAssembly)">
<Output TaskParameter="Assemblies"
ItemName="GetVersionAssemblyInfo"/>
</GetAssemblyIdentity>
<Message Text="%(GetVersionAssemblyInfo.Version)..."/>
</Target>
<Target Name="CopyFilesToVirtualRoot" DependsOnTargets="PrepareClickOnceDeployment;DeleteVirtualRootFiles;GetVersion">
<Message Text="Copying files to $(ClickOnceVirtualRootDir)..."/>
<Copy SourceFiles="@(ClickOnceInstallationFiles)"
DestinationFiles="@(ClickOnceInstallationFiles->'$(ClickOnceVirtualRootDir)\%(Filename)%(Extension)')"/>
<Copy SourceFiles="@(AppManifestContents)"
DestinationFiles="@(AppManifestContents->'$(ClickOnceVirtualRootDir)\Application Files\Version_%(GetVersionAssemblyInfo.Version)\%(RecursiveDir)%(Filename)%(Extension).deploy')"/>
</Target>
나는 다음과 같은 오류
error MSB4043: The item metadata reference "%(GetVersionAssemblyInfo.Version)" is invalid
because it is qualified with an item name. Item metadata referenced in transforms do not
need to be qualified, because the item name is automatically deduced from the items being
transformed. Change "%(GetVersionAssemblyInfo.Version)" to "%(Version)".
를 얻을.
두 번째 코드를 시도해 보았습니다. – aggaton