Skip to content

When using multiple target frameworks, only one of the assemblies gets weaved #56

Closed
@Tyrrrz

Description

Setup:

*.csproj:

<TargetFrameworks>net45;netstandard2.0</TargetFrameworks>

and

<ItemGroup>
  <PackageReference Include="ConfigureAwait.Fody" Version="3.1.0" PrivateAssets="all" />
</ItemGroup>

FodyWeavers.xml:

<?xml version="1.0" encoding="utf-8"?>
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
  <ConfigureAwait ContinueOnCapturedContext="false" />
</Weavers>

Expected result: both libraries get weaved with .ConfigureAwait(false).

Actual result: only the .NET Standard 2.0 version of the assembly gets weaved, the other (.net45) one is untouched and lacks ProcessedByFody class injected. (Checked with dnSpy)

I'm not sure if this is ConfigureAwait.Fody specific or not, but at least NotifyPropertyChanged.Fody seems to work in a situation similar to this one.

Here's a link to a build that reproduces this: https://ci.appveyor.com/project/Tyrrrz/cliwrap/builds/23491619

Here's a link to the *.csproj at this commit: https://github.com/Tyrrrz/CliWrap/blob/ddab02503b03577f3e9e0635f3b6724523de59f7/CliWrap/CliWrap.csproj

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions