2.放入到子文件夹的插件需要使用 Fiddler 开头,满足 Fiddler*.dll 通配符
<!-- 堆代码 duidaima.com --> <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <!-- 根据 Fiddler 插件的要求,放入到子文件夹里面的插件,必须采用 Fiddler 开头,符合 Fiddler*.dll 才能被加载。因此这里修改程序集名,让输出程序集满足要求 --> <AssemblyName>FiddlerFridayPlugin</AssemblyName> </PropertyGroup> </Project>接着在 我的文档\Fiddler2\Scripts 文件夹里面新建一个子文件夹,要求这个子文件夹使用 .ext 结尾,比如 FiddlerFridayPlugin.ext 类似的命名格式。将构建输出的插件 DLL 等文件拷贝到上一步创建的子文件夹,完成之后的文件夹大概如下:
C:\Users\YourName\Documents\Fiddler2 │ └─Scripts │ └─FiddlerFridayPlugin.ext ├FiddlerFridayPlugin.dll ├FiddlerFridayPlugin.pdb ├HandyControl.dll ├Jgrass.FiddlerPlugin.dll └Newtonsoft.Json.dll如此即可将插件放在独立的文件夹里面,防止和其他插件命名冲突。在日常开发中,如果想要让开发更加方便,可以编辑 csproj 项目文件,让插件构建输出到子文件夹里面,以下是项目文件代码:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Library</OutputType> <TargetFramework>net48</TargetFramework> <Nullable>enable</Nullable> <UseWPF>true</UseWPF> <LangVersion>latest</LangVersion> <!-- 根据 Fiddler 插件的要求,放入到子文件夹里面的插件,必须采用 Fiddler 开头,符合 Fiddler*.dll 才能被加载。因此这里修改程序集名,让输出程序集满足要求 --> <AssemblyName>FiddlerFridayPlugin</AssemblyName> <!-- 不要添加 net48 文件夹 --> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <!-- 根据 Fiddler 插件的要求,放入到子文件夹里面的插件,必须放入到后缀为 .ext 文件夹里面 --> <OutputPath>..\Bin\$(Configuration)\$(AssemblyName).ext\</OutputPath> </PropertyGroup> <ItemGroup> <Reference Include="Fiddler"> <HintPath>你的Fiddler文件夹\Fiddler.exe</HintPath> <Private>false</Private> </Reference> <Reference Include="System.Web" /> </ItemGroup> <!--<Target Name="KillFiddler" BeforeTargets="PreBuildEvent"> <Exec Command="taskkill /F /IM Fiddler.exe" /> </Target>--> <Target Name="CopyOutput" AfterTargets="PostBuildEvent"> <Exec Command="xcopy ..\\Bin\\Debug %USERPROFILE%\\Documents\\Fiddler2\\Scripts /s /e /y" /> </Target> </Project>大家可以拷贝以上的 csproj 项目格式文件替换自己插件的 csproj 项目文件内容,记得更改 AssemblyName 为你期望的插件名即可,记得替换的时候保持使用 Fiddler 开头。另外还需要替换 你的Fiddler文件夹\Fiddler.exe 为你真正的 Fiddler 安装路径,如此才能让项目对 Fiddler 进行引用。