VisualStudio 2017下如何修改FodyWeavers.xml文件的生成位置?
解决FodyWeavers.xml自定义存放位置的编译错误问题
我之前在VS2017里折腾Fody的时候也碰到过一模一样的坑,改了路径后死活编译报错,给你几个亲测有效的解决步骤:
1. 给.csproj加官方认可的路径配置
别直接去改Fody.targets(NuGet还原会覆盖这个文件,白忙活),而是在你的项目文件(.csproj)里添加专门的属性来指定配置文件路径,这是Fody官方推荐的方式:
<PropertyGroup> <!-- 把路径改成你实际的位置,这里是Properties文件夹下 --> <FodyWeaversXmlPath>$(ProjectDir)Properties\FodyWeavers.xml</FodyWeaversXmlPath> </PropertyGroup>
2. 确保文件的项目属性配置正确
只加<Content Include>还不够,得把Properties里的FodyWeavers.xml属性设对:
- 右键这个文件 → 属性
- 生成操作选
Content - 复制到输出目录选
如果较新则复制
对应的.csproj里应该能看到类似这样的节点:
<Content Include="Properties\FodyWeavers.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
3. 清理缓存+重启VS(老版本必备)
VS2017的缓存有时候特别顽固,做完配置后一定要:
- 右键项目 → 清理
- 手动删掉项目根目录下的
bin和obj文件夹 - 重启VS2017
- 再重新生成项目
4. 排查版本兼容问题
你用了最新版Fody,但VS2017已经停止维护了,可能存在版本不兼容的情况。可以试试降级到Fody 6.x系列(这个版本对VS2017支持更稳定),再测试自定义路径是否生效。
5. 排除配置文件本身的错误
有时候报错不一定是路径的锅,可能是FodyWeavers.xml的内容有语法问题。可以先把文件放回项目根目录测试,如果能正常编译,再移到Properties目录,这样就能排除内容错误的可能性了。
内容的提问来源于stack exchange,提问作者Jenny
相关产品推荐
相关产品推荐

