我有一个使用.NET Framework 4.5.1构建的Web应用程序
当我从VS2017发布它时,VS2017添加了不需要的dll,未在参考文献中列出,它们是:
System.Web.Mvc.dll
System.Web.Razor.dll
System.Web.Webpages.Deployment.dll
System.Web.Webpages.Razor.dll
当我尝试从VS2013发布时,它会给出运行时错误(剃刀丢失),而我的项目没有任何cshtml文件,当然它没有使用任何剃刀视图。
为什么VS2013需要剃须刀,有没有办法阻止VS2017在发布时添加剃须刀和其他不需要的dll?
谢谢!
**编辑:**从研究中,我发现在我的csproj文件中添加<PreserveCompilationContext>false</PreserveCompilationContext>
会阻止VS2017添加剃须刀,但是现在发布后我得到运行时错误Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
答案 0 :(得分:0)
您是否尝试检查Visual Studio中“调试”菜单下的“选项”,其中一个设置允许您通过选择要部署的项目来控制此项(在包/发布下):仅运行此应用程序所需的文件
另一个程序集也可能需要您引用的其中一个程序集。