gpt4 book ai didi

c# - 在 Visual Studio 外部为 ASP.NET 网站重新安装 NuGet 包

转载 作者:行者123 更新时间:2023-11-30 17:32:19 28 4
gpt4 key购买 nike

我的 ASP.NET 网站没有 .csproj 文件(它不是 Web 应用程序),只有 .sln 文件。在根目录中是定义了几个 NuGet 包的 packages.config。

调用 nuget restore .\packages.config -PackagesDirectory .\packages 将包下载到 packages 文件夹,但是 bin 文件夹是空的。

nuget 更新 需要 .csproj。

如果我在命令行中调用网站构建,它会抛出找不到 DLL 的错误。如果我保留 bin\*.refresh 它也不起作用。

谢谢

最佳答案

您需要为每个要复制到 bin 目录的包创建一个 .refresh 文件。

例如,我们在我们的网站之一中自定义构建了 MvcSiteMapProvider.MVC2

packages.config

<package id="Mvc2" version="2.0.1" targetFramework="net35" />
<package id="MvcSiteMapProvider.MVC2.Core" version="4.6.18.1" targetFramework="net35" />

/Bin文件夹

System.Web.Mvc.dll.refresh
MvcSiteMapProvider.dll.refresh

NOTE: It may be tricky to get your source control provider to recognize these. Make sure they are there when you clone your project to a clean directory.

System.Web.Mvc.dll.refresh

..\..\packages\Mvc2.2.0.1\lib\net35\System.Web.Mvc.dll

MvcSiteMapProvider.dll.refresh

..\..\packages\MvcSiteMapProvider.MVC2.Core.4.6.18.1\lib\net35\MvcSiteMapProvider.dll

您可能需要根据文件夹结构调整项目中 ..\ 的数量,但这是我们成功恢复的内容。

关于c# - 在 Visual Studio 外部为 ASP.NET 网站重新安装 NuGet 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46791901/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com