如何使用我自己的 DLL 而不是依赖包引用的 DLL
How to use my own DLLs instead of the one referenced by a dependent package
我正在使用一个 nuget 包(我们称之为 A
),它依赖于另一个包,我们称之为 B
。
为了在我的项目中包含 A
,我将 .csproj
文件更改为:
<ItemGroup>
<PackageReference Include="A" Version="2.0.5" />
</ItemGroup>
当我 运行 nuget restore
包 B
也从一些 nuget 源中消耗时。
我想用我自己创建的 DLL 替换包 B
的 dll。
我可以在我的本地机器上通过将所需的 dll 复制粘贴到 bin 文件夹中来完成。但是我如何在 Azure 网站上做同样的事情呢?无论如何要自动化这个过程?
有什么方法可以告诉 nuget 不要从 nuget 源中获取 B
的 DLL,而是使用我想要的 DLL?
更新:
感谢Shahryar的贡献,我们也可以选择添加dll文件,并设置复制到编译文件夹执行(在.csproj文件中定义属性)。
其实主要是修改最终编译文件的内容,因为最终部署之后,是按照编译文件运行的。
原答案:
您可以先在本地编译web app,然后将您的dll文件替换为bin中对应的文件。使用zip打包整个编译后的文件,然后使用zip deployment将最终编译后的文件直接上传到Azure(部署到Azure的web app的运行取决于这种方式上传的文件)
看看Zip Deploy。
我正在使用一个 nuget 包(我们称之为 A
),它依赖于另一个包,我们称之为 B
。
为了在我的项目中包含 A
,我将 .csproj
文件更改为:
<ItemGroup>
<PackageReference Include="A" Version="2.0.5" />
</ItemGroup>
当我 运行 nuget restore
包 B
也从一些 nuget 源中消耗时。
我想用我自己创建的 DLL 替换包 B
的 dll。
我可以在我的本地机器上通过将所需的 dll 复制粘贴到 bin 文件夹中来完成。但是我如何在 Azure 网站上做同样的事情呢?无论如何要自动化这个过程?
有什么方法可以告诉 nuget 不要从 nuget 源中获取 B
的 DLL,而是使用我想要的 DLL?
更新:
感谢Shahryar的贡献,我们也可以选择添加dll文件,并设置复制到编译文件夹执行(在.csproj文件中定义属性)。
其实主要是修改最终编译文件的内容,因为最终部署之后,是按照编译文件运行的。
原答案:
您可以先在本地编译web app,然后将您的dll文件替换为bin中对应的文件。使用zip打包整个编译后的文件,然后使用zip deployment将最终编译后的文件直接上传到Azure(部署到Azure的web app的运行取决于这种方式上传的文件)
看看Zip Deploy。