0

我正在尝试在我的项目中使用 Fody.PropertyChanged,所以我已经添加[ImplementPropertyChanged]到我的课程中。
在我的开发机器上,这一切都在本地运行良好。

但是,在反编译 TFS 生成的二进制文件时,我发现它们没有被编织:它们仍然具有 Fody 属性。

FodyWeavers.xml 有 veaver:

<Weavers>
  <PropertyChanged />
</Weavers>

我在哪里看,看什么,找出为什么我的组件没有编织?

谢谢!

4

1 回答 1

0

我设法以这种方式编织组件:

我已将内容复制packages\Fody.xx\Assemblies\Fody\

然后我修改了.csproj指向复制的.targets文件(接近末尾.csproj):

<Import Project="$(SolutionDir)\Assemblies\Fody\build\dotnet\Fody.targets" Condition="Exists('$(SolutionDir)\Assemblies\Fody\build\dotnet\Fody.targets')" />
    <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
        <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('$(SolutionDir)\Assemblies\Fody\build\dotnet\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\Assemblies\Fody\build\dotnet\Fody.targets'))" />
</Target>

我怀疑 TFS 维护人员正在将 Nuget 包下载到另一个文件夹中(例如,所有项目的所有 Nuget 包只有一个副本),这意味着这种包无法正常工作。

于 2016-01-12T08:45:17.377 回答