Compiling a 2.1.0 project targeting desktop with a reference to the ViewCompilation package produces a warning about mismatch in architectures

Fixes #270
This commit is contained in:
Pranav K 2018-05-22 11:03:06 -07:00
parent ed4470d9aa
commit 94e0ecca73
4 changed files with 41 additions and 47 deletions

View File

@ -13,15 +13,6 @@
<NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile> <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='net461'">
<RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
<PlatformTarget Condition="'$(Platform)'=='AnyCPU'">x86</PlatformTarget>
<AssemblyName>$(AssemblyName)-$(PlatformTarget)</AssemblyName>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>bin\$(Configuration)\net461\win7-$(PlatformTarget)</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\net461\win7-$(PlatformTarget)</IntermediateOutputPath>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="$(TasksProjectDirectory)Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Tasks.csproj" PrivateAssets="true" ReferenceOutputAssembly="false" /> <ProjectReference Include="$(TasksProjectDirectory)Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Tasks.csproj" PrivateAssets="true" ReferenceOutputAssembly="false" />
@ -31,22 +22,28 @@
<PackageReference Update="Microsoft.NETCore.App" PrivateAssets="All" /> <PackageReference Update="Microsoft.NETCore.App" PrivateAssets="All" />
</ItemGroup> </ItemGroup>
<Target Name="BuildX64" AfterTargets="Build" Condition="'$(TargetFramework)'=='net461' AND '$(PlatformTarget)'!='x64'"> <Target Name="BuildX86" AfterTargets="Build" Condition="'$(TargetFramework)'=='net461' AND '$(PlatformTarget)'!='x86'">
<MSBuild <MSBuild
Projects="$(MSBuildProjectFullPath)" Projects="$(MSBuildProjectFullPath)"
Targets="Build" Targets="Build"
Properties=" Properties="
Configuration=$(Configuration); Configuration=$(Configuration);
TargetFramework=net461; TargetFramework=$(TargetFramework);
Platform=x64;" /> Platform=x86;
BuildNumber=$(BuildNumber);
OutputPath=$(OutputPath);
TargetName=$(TargetName)-x86" />
</Target> </Target>
<Target Name="PopulateNuspec" BeforeTargets="GenerateNuspec" DependsOnTargets="BuildX64;"> <Target Name="PopulateNuspec" BeforeTargets="GenerateNuspec" DependsOnTargets="BuildX86">
<PropertyGroup> <PropertyGroup>
<!-- Make sure we create a symbols.nupkg. --> <!-- Make sure we create a symbols.nupkg. -->
<IncludeSymbols>true</IncludeSymbols> <IncludeSymbols>true</IncludeSymbols>
<!-- RepositoryCommit is only available when "build" runs, but not during dotnet pack -->
<RepositoryCommit Condition="'$(RepositoryCommit)' == ''">unknown</RepositoryCommit>
<NuspecProperties> <NuspecProperties>
id=$(PackageId); id=$(PackageId);
version=$(PackageVersion); version=$(PackageVersion);
@ -66,10 +63,10 @@
TaskBinary=$(TasksProjectDirectory)bin\$(Configuration)\netstandard2.0\$(AssemblyName).Tasks.dll; TaskBinary=$(TasksProjectDirectory)bin\$(Configuration)\netstandard2.0\$(AssemblyName).Tasks.dll;
TaskSymbol=$(TasksProjectDirectory)bin\$(Configuration)\netstandard2.0\$(AssemblyName).Tasks.pdb; TaskSymbol=$(TasksProjectDirectory)bin\$(Configuration)\netstandard2.0\$(AssemblyName).Tasks.pdb;
OutputExeX86=$(OutputPath)net461\win7-x86\$(AssemblyName)-x86.exe; OutputExeX86=$(OutputPath)net461\$(AssemblyName)-x86.exe;
OutputExeSymbolX86=$(OutputPath)net461\win7-x86\$(AssemblyName)-x86.pdb; OutputExeSymbolX86=$(OutputPath)net461\$(AssemblyName)-x86.pdb;
OutputExeX64=$(OutputPath)net461\win7-x64\$(AssemblyName)-x64.exe; OutputExeAnyCPU=$(OutputPath)net461\$(AssemblyName).exe;
OutputExeSymbolX64=$(OutputPath)net461\win7-x64\$(AssemblyName)-x64.pdb; OutputExeSymbolAnyCPU=$(OutputPath)net461\$(AssemblyName).pdb;
</NuspecProperties> </NuspecProperties>
</PropertyGroup> </PropertyGroup>
</Target> </Target>

View File

@ -26,13 +26,17 @@
<files> <files>
<file src="build\**\*" target="build\" /> <file src="build\**\*" target="build\" />
<file src="$OutputBinary$" target="build\netstandard2.0\$AssemblyName$.dll" />
<file src="$OutputSymbol$" target="build\netstandard2.0\$AssemblyName$.pdb" /> <file src="$OutputBinary$" target="build\netstandard2.0\netcoreapp2.0\" />
<file src="$OutputSymbol$" target="build\netstandard2.0\netcoreapp2.0\" />
<file src="$OutputExeX86$" target="build\netstandard2.0\net461\" />
<file src="$OutputExeSymbolX86$" target="build\netstandard2.0\net461\" />
<file src="$OutputExeAnyCPU$" target="build\netstandard2.0\net461\" />
<file src="$OutputExeSymbolAnyCPU$" target="build\netstandard2.0\net461\" />
<file src="$TaskBinary$" target="build\netstandard2.0\$AssemblyName$.Tasks.dll" /> <file src="$TaskBinary$" target="build\netstandard2.0\$AssemblyName$.Tasks.dll" />
<file src="$TaskSymbol$" target="build\netstandard2.0\$AssemblyName$.Tasks.pdb" /> <file src="$TaskSymbol$" target="build\netstandard2.0\$AssemblyName$.Tasks.pdb" />
<file src="$OutputExeX86$" target="build\netstandard2.0\" />
<file src="$OutputExeSymbolX86$" target="build\netstandard2.0\" />
<file src="$OutputExeX64$" target="build\netstandard2.0\" />
<file src="$OutputExeSymbolX64$" target="build\netstandard2.0\" />
</files> </files>
</package> </package>

View File

@ -51,7 +51,8 @@
<PropertyGroup> <PropertyGroup>
<MvcRazorRunCommand Condition="'$(MvcRazorRunCommand)'==''">dotnet</MvcRazorRunCommand> <MvcRazorRunCommand Condition="'$(MvcRazorRunCommand)'==''">dotnet</MvcRazorRunCommand>
<_MvcViewCompilationBinaryPath Condition="'$(_MvcViewCompilationBinaryPath)'==''">$(MSBuildThisFileDirectory)$(MSBuildThisFileName).dll</_MvcViewCompilationBinaryPath> <_MvcViewCompilationBinariesDir Condition="'$(_MvcViewCompilationBinariesDir)' == ''">$(MSBuildThisFileDirectory)</_MvcViewCompilationBinariesDir>
<_MvcViewCompilationBinaryPath>$(_MvcViewCompilationBinariesDir)netcoreapp2.0\$(MSBuildThisFileName).dll</_MvcViewCompilationBinaryPath>
<ExecArgs>&quot;$(MvcRazorRunCommand)&quot; exec</ExecArgs> <ExecArgs>&quot;$(MvcRazorRunCommand)&quot; exec</ExecArgs>
<ExecArgs>$(ExecArgs) --runtimeconfig &quot;$(ProjectRuntimeConfigFilePath)&quot;</ExecArgs> <ExecArgs>$(ExecArgs) --runtimeconfig &quot;$(ProjectRuntimeConfigFilePath)&quot;</ExecArgs>
@ -79,17 +80,19 @@
Targets="Build;MvcRazorPrecompile" /> Targets="Build;MvcRazorPrecompile" />
</Target> </Target>
<Target Name="_ResolveBinaryPath">
<PropertyGroup>
<_MvcViewCompilationBinariesDir Condition="'$(_MvcViewCompilationBinariesDir)' == ''">$(MSBuildThisFileDirectory)</_MvcViewCompilationBinariesDir>
<_MvcViewCompilationBinaryPath Condition="'$(PlatformTarget)'=='x86'">$(_MvcViewCompilationBinariesDir)net461\$(MSBuildThisFileName)-x86.exe</_MvcViewCompilationBinaryPath>
<_MvcViewCompilationBinaryPath Condition="'$(PlatformTarget)'!='x86'">$(_MvcViewCompilationBinariesDir)net461\$(MSBuildThisFileName).exe</_MvcViewCompilationBinaryPath>
</PropertyGroup>
</Target>
<Target <Target
Name="_AddDesktopReferences" Name="_AddDesktopReferences"
AfterTargets="ResolveLockFileReferences" AfterTargets="ResolveLockFileReferences"
Condition="'$(MvcRazorCompileOnPublish)'=='true' AND '$(_MvcViewCompilationAddDesktopReferences)'!='false' AND '$(TargetFrameworkIdentifier)'=='.NETFramework'"> Condition="'$(MvcRazorCompileOnPublish)'=='true' AND '$(ResolvedRazorCompileToolset)'=='PrecompilationTool' AND '$(TargetFrameworkIdentifier)'=='.NETFramework'">
<PropertyGroup Condition="'$(_MvcViewCompilationBinaryPath)'==''">
<_MvcViewCompilationBinaryPath Condition="'$(PlatformTarget)'=='x86'">$(MSBuildThisFileDirectory)$(MSBuildThisFileName)-x86.exe</_MvcViewCompilationBinaryPath>
<!-- For PlatformTarget = AnyCPU or x64, we will use the x64 binary -->
<_MvcViewCompilationBinaryPath Condition="'$(_MvcViewCompilationBinaryPath)'==''">$(MSBuildThisFileDirectory)$(MSBuildThisFileName)-x64.exe</_MvcViewCompilationBinaryPath>
</PropertyGroup>
<ItemGroup Condition="'$(_MvcViewCompilationBinaryPath)'!=''"> <ItemGroup Condition="'$(_MvcViewCompilationBinaryPath)'!=''">
<Reference Include="$(_MvcViewCompilationBinaryPath)" Private="false" Visible="false" /> <Reference Include="$(_MvcViewCompilationBinaryPath)" Private="false" Visible="false" />
@ -98,7 +101,7 @@
<Target <Target
Name="_RunForDesktop" Name="_RunForDesktop"
DependsOnTargets="_AddDesktopReferences;_CreateResponseFileForMvcRazorPrecompile" DependsOnTargets="_ResolveBinaryPath;_AddDesktopReferences;_CreateResponseFileForMvcRazorPrecompile"
Condition="'$(TargetFrameworkIdentifier)'=='.NETFramework'"> Condition="'$(TargetFrameworkIdentifier)'=='.NETFramework'">
<PropertyGroup> <PropertyGroup>
@ -165,11 +168,11 @@
Name="_MvcRazorPrecompileOnPublish" Name="_MvcRazorPrecompileOnPublish"
DependsOnTargets="MvcRazorPrecompile" DependsOnTargets="MvcRazorPrecompile"
AfterTargets="PrepareForPublish" AfterTargets="PrepareForPublish"
Condition="'$(ResolvedRazorCompileToolset)'=='PrecompilationTool'and '$(MvcRazorCompileOnPublish)'=='true'" /> Condition="'$(ResolvedRazorCompileToolset)'=='PrecompilationTool' and '$(MvcRazorCompileOnPublish)'=='true'" />
<Target Name="_MvcRazorResolveFilesToCompute" <Target Name="_MvcRazorResolveFilesToCompute"
AfterTargets="ComputeRefAssembliesToPublish" AfterTargets="ComputeRefAssembliesToPublish"
Condition="'$(ResolvedRazorCompileToolset)'=='PrecompilationTool'and '$(MvcRazorCompileOnPublish)'=='true'"> Condition="'$(ResolvedRazorCompileToolset)'=='PrecompilationTool' and '$(MvcRazorCompileOnPublish)'=='true'">
<PropertyGroup> <PropertyGroup>
<_MvcRazorOutputPdbFullPath>$([System.IO.Path]::ChangeExtension('$(_MvcRazorOutputFullPath)', '.pdb'))</_MvcRazorOutputPdbFullPath> <_MvcRazorOutputPdbFullPath>$([System.IO.Path]::ChangeExtension('$(_MvcRazorOutputFullPath)', '.pdb'))</_MvcRazorOutputPdbFullPath>

View File

@ -2,22 +2,12 @@
<Import Project="..\Directory.Build.targets" /> <Import Project="..\Directory.Build.targets" />
<PropertyGroup> <PropertyGroup>
<_MvcViewCompilationAddDesktopReferences>false</_MvcViewCompilationAddDesktopReferences>
<TestIncludeViewCompilationTargets Condition="'$(TestIncludeViewCompilationTargets)'==''">$(MvcRazorCompileOnPublish)</TestIncludeViewCompilationTargets> <TestIncludeViewCompilationTargets Condition="'$(TestIncludeViewCompilationTargets)'==''">$(MvcRazorCompileOnPublish)</TestIncludeViewCompilationTargets>
<SolutionConfiguration Condition="'$(SolutionConfiguration)'==''">$(Configuration)</SolutionConfiguration> <SolutionConfiguration Condition="'$(SolutionConfiguration)'==''">$(Configuration)</SolutionConfiguration>
<_MvcViewCompilationTasksPath>$(MSBuildThisFileDirectory)..\src\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Tasks\bin\$(SolutionConfiguration)\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Tasks.dll</_MvcViewCompilationTasksPath> <_MvcViewCompilationTasksPath>$(MSBuildThisFileDirectory)..\src\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Tasks\bin\$(SolutionConfiguration)\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Tasks.dll</_MvcViewCompilationTasksPath>
<_MvcViewCompilationBinariesDir>$(MSBuildThisFileDirectory)..\src\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation\bin\$(SolutionConfiguration)\</_MvcViewCompilationBinariesDir>
</PropertyGroup> </PropertyGroup>
<Import Project="..\src\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets" <Import Project="..\src\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets"
Condition="'$(TestIncludeViewCompilationTargets)'=='true'"/> Condition="'$(TestIncludeViewCompilationTargets)'=='true'"/>
<Target
Name="SetMvcRazorViewCompilationBinaryPath"
BeforeTargets="MvcRazorPrecompile"
Condition="'$(TestIncludeViewCompilationTargets)'=='true'">
<PropertyGroup>
<_MvcViewCompilationBinaryPath Condition="'$(TargetFramework)'!='net461'">$(MSBuildThisFileDirectory)..\src\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation\bin\$(SolutionConfiguration)\netcoreapp2.0\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.dll</_MvcViewCompilationBinaryPath>
<_MvcViewCompilationBinaryPath Condition="'$(TargetFramework)'=='net461'">$(MSBuildThisFileDirectory)..\src\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation\bin\$(SolutionConfiguration)\net461\win7-x86\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation-x86.exe</_MvcViewCompilationBinaryPath>
</PropertyGroup>
</Target>
</Project> </Project>