我遇到的问题是,在一个解决方案中,Fody编织,在我的情况下是Fody.NameOf,不起作用。
我创建了一个新的解决方案,复制了有问题的项目,在这个解决方案中,编织工作!
在新的解决方案中,我没有配置任何特殊内容,例如:启用Fody或其他东西。
在“原始”解决方案中,我最近从NuGet迁移到了Paket,这可能与此问题有关。
我的Visual Studio版本是2012年。
答案 0 :(得分:0)
在区分项目文件夹时,我发现项目文件存在差异
此块
<Choose>
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.1'">
<PropertyGroup>
<__paket__Fody_targets>Fody</__paket__Fody_targets>
</PropertyGroup>
</When>
</Choose>
的位置不同。调整后,它在两种解决方案中都有效。
我不是MSBuild的专家,但在我看来,在非工作版本中,fody在编译之前运行,因此结果可能会被覆盖。
工作项目:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Content Include="FodyWeavers.xml" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="NameOfPaket.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="paket.references" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Choose>
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.1'">
<PropertyGroup>
<__paket__Fody_targets>Fody</__paket__Fody_targets>
</PropertyGroup>
</When>
</Choose>
不工作项目:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<Choose>
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.6.1'">
<PropertyGroup>
<__paket__Fody_targets>Fody</__paket__Fody_targets>
</PropertyGroup>
</When>
</Choose>
<ItemGroup>
<Content Include="FodyWeavers.xml" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="NameOfPaket.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="paket.references" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />