【发布时间】:2019-12-20 14:30:02
【问题描述】:
我正在尝试摆脱 nuget 包,并且项目中只有本地 dll 文件。
我已经排除了这些包
<PackageReference Include="Microsoft.AspNetCore" Version="2.1.7" />
<PackageReference Include="Microsoft.AspNetCore.CookiePolicy" Version="2.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Hosting.WindowsServices" Version="2.1.1" />
<PackageReference Include="Microsoft.AspNetCore.HttpsPolicy" Version="2.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.3" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.1.1" />
所以,我已经构建了我的解决方案并导入了项目中的所有 dll。我可以编译它,但是服务器说:
处理请求时发生未处理的异常。 InvalidOperationException:未找到视图“索引”。搜索了以下位置:...
但是与 nuget 相同会使工作正常。向项目中添加 dll 的替代方法是什么?
我见过this,但在我的情况下,当我将所有 dll 放在一个文件夹中时,我有太多同名文件(冲突)
【问题讨论】:
-
从指定的错误中听起来您缺少
cshtml文件?在您的项目中,您有一个Views文件夹吗? -
它就在那里,它有效。直到我删除这些包引用并将 dll 从构建文件夹中放入。
-
一些 NuGet 包将重要元素添加到您的项目文件中,并带有针对诸如 MVC 视图之类的特殊构建说明。我会仔细查看您的项目文件的 XML,看看是否还有东西在尝试引用 packages 文件夹。另一方面:这感觉就像你在与技术进步的潮流背道而驰,这通常最终成为错误的决定。您是否考虑过这是否是一个“XY 问题”,您正在询问解决方案,但您已经为您要解决的潜在问题选择了错误的解决方案?
-
关于您在下面的评论,您正在这样做是因为您的构建服务器显然不支持从 NuGet 恢复:修复它而不是尝试解决它 - 您不想签入所有二进制形式的依赖项(或必须依赖于在构建服务器上重新创建文件夹结构)。
-
备份@StriplingWarrior 和germi 所说的——你正试图解决错误的问题。你应该让你的构建服务器使用 NuGet,而不是摆脱 NuGet。
标签: c# asp.net asp.net-mvc visual-studio-2017 nuget