簡體   English   中英

根據發布或調試版本復制文件

[英]Copy files based on release or debug build

我正在對csproj文件進行一些更改,因此在構建調試文件時,它將復制一組調試文件,而在構建發行版時,它將復制一組發行文件。

csproj的開始:

<PropertyGroup>
...
<FlexNetInput></FlexNetInput>
</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
...
<FlexNetInput>"..\..\..\..\utilities\FlexNet\Debug\Native\"</FlexNetInput>
</PropertyGroup>
 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    ...
    <FlexNetInput>"..\..\..\..\utilities\FlexNet\Release\Native\"</FlexNetInput>
  </PropertyGroup>

在csproj的結尾,這就是我所擁有的:

 <Target Name="AfterBuild">
    <!-- Copy Native DGI DLL's -->
    <CreateItem Include="..\..\..\..\utilities\dgi\DgiNative\**\*.*">
      <Output TaskParameter="Include" ItemName="NativeDgiFiles" />
    </CreateItem>
    <Copy SourceFiles="@(NativeDgiFiles)" DestinationFiles="@(NativeDgiFiles->'$(OutputPath)\Native\%(RecursiveDir)%(Filename)%(Extension)')" />
    <!-- Copy Native FlexNet DLL's -->
    <CreateItem Include="'$(FlexNetInput)'**\*.*">
    <Output TaskParameter="Include" ItemName="NativeReleaseFlexNetFiles" />
  </CreateItem>
  <Copy SourceFiles="@(NativeReleaseFlexNetFiles)" DestinationFiles="@(NativeReleaseFlexNetFiles->'$(OutputPath)\Native\%(RecursiveDir)%(Filename)%(Extension)')" />

dgi文件的副本可以正常工作,但是由於FlexNet文件的位置不同,具體取決於它是發布還是調試,因此我無法使其正常工作。

我收到的錯誤是:無法評估項目元數據“%(Filename)”。 項元數據“%(Filename)”不能應用於路徑“'.............. \\ utilities \\ FlexNet \\ Debug \\ Native \\” ***。*'”。 路徑中包含非法字符。

我認為我沒有正確使用屬性,有什么想法嗎?

解決了,這就是我的工作方式:

<CreateItem Include="..\..\..\..\utilities\FlexNet\$(Configuration)\Native\**\*.*">
      <Output TaskParameter="Include" ItemName="NativeFlexNetFiles" />
    </CreateItem>
    <Copy SourceFiles="@(NativeFlexNetFiles)" DestinationFiles="@(NativeFlexNetFiles->'$(OutputPath)\Native\%(RecursiveDir)%(Filename)%(Extension)')" />

這些天,您可能應該不再需要CreateItem 可以將ItemGroups放置在目標內部,並在目標運行時對其進行評估。 同樣,由於您的輸出目錄與配置具有相同的名稱,因此您可以將其用作屬性。 在一起這給

<ItemGroup>
  <NativeReleaseFlexNetFiles Include=
    "..\..\..\..\utilities\FlexNet\$(Configuration)\Native\**\*.*"/>
</ItemGroup>

在您的AfterBuild目標中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM