相关疑难解决方法(0)

使用MSBuild覆盖属性

我想在我的MSBuild文件中声明三个属性,并用另一个属性覆盖一个属性(取决于被调用的目标),但是无法弄清楚如何执行此操作.我的构建文件看起来像这样:

<PropertyGroup>
   <DeployPath_TEST>\\test-server-path\websites\mysite</DeployPath_TEST>
   <DeployPath_LIVE>\\live-server-path\websites\mysite</DeployPath_LIVE>
   <DeployPath></DeployPath>
</PropertyGroup>

<Target Name="Deploy-TEST">
   <PropertyGroup>
      <DeployPath>$(DeployPath_TEST)</DeployPath>
   </PropertyGroup>
   <CallTarget Targets="Deploy-Sub"/>
</Target>

<Target Name="Deploy-LIVE">
   <PropertyGroup>
      <DeployPath>$(DeployPath_TEST)</DeployPath>
   </PropertyGroup>
   <CallTarget Targets="Deploy-Sub"/>
</Target>

<Target Name="Deploy-Sub">
   <Message Text="Deploying to $(DeployPath)"/>
   <MSBuild Projects="MySolution.csproj" Targets="Rebuild" />

   <ItemGroup>
     <MyFiles Include="**\*"/>
   </ItemGroup>

   <Copy SourceFiles="@(MyFiles)" 
         DestinationFiles="@(MyFiles->'$(DeploymentPath)\%(RecursiveDir)%(FileName)%(Extension)')"/>

</Target>
Run Code Online (Sandbox Code Playgroud)

目前我正在尝试重新声明属性设置它的值,但这不起作用.

msbuild

16
推荐指数
2
解决办法
2万
查看次数

.NET CORE ALINK:警告 AL1073:引用的程序集“mscorlib.dll”针对不同的处理器

我正在使用 VS2019 和 .NET CORE 2.2 我收到警告 AL1073

ALINK 警告 AL1073:引用的程序集“mscorlib.dll”针对不同的处理器

我知道这与问题很接近:ALINK:警告 AL1073:引用的程序集“mscorlib.dll”针对不同的处理器

但:

  1. 我在 .NET CORE 2.2 而不是 4.x

  2. 那里提出的解决方案不适用于 .NET 核心

特别是,试图添加:

<PropertyGroup> 
<TargetFrameworkSDKToolsDirectory Condition=" '$(PlatformTarget)' == 'x64'">$(TargetFrameworkSDKToolsDirectory)\$(PlatformTarget)\
</TargetFrameworkSDKToolsDirectory>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

发出另一个警告

警告 MSB3084 任务试图在两个位置找到“al.exe”。1) 在基于 SdkToolsPath 生成的 "\x64\" 处理器特定目录下 2) 在 SDKToolsPath 属性指定的 "\x64\" 下 x86 特定目录。您可以通过执行以下操作之一来解决该问题:1) 将“SDKToolsPath”属性设置为 Microsoft Windows SDK 的位置。C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets

真的很奇怪,因为根据警告,位置是一样的!

另外:我很乐意在构建设置中取消警告,因为我所有的单元测试都通过了,但是将 1073 添加到列表中对仍然出现的 AL1073 警告没有影响。

或者,警告提示:将“SDKToolsPath”属性设置为 Microsoft Windows SDK 的位置,我该怎么做?

更新回答评论:这很难在简单的设置中重现。该项目特别引用了几个 Github 项目(fo-dicom)。fo-dicom 库使用为 32 和 64 平台构建的图像库。我确实尝试设置为 64 …

.net c# msbuild fo-dicom visual-studio-2019

6
推荐指数
2
解决办法
1578
查看次数

标签 统计

msbuild ×2

.net ×1

c# ×1

fo-dicom ×1

visual-studio-2019 ×1