Visual Studio 2017在发布后添加不需要的dll

时间:2018-01-14 14:59:01

标签: c# razor visual-studio-2013 visual-studio-2017

我有一个使用.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.

1 个答案:

答案 0 :(得分:0)

您是否尝试检查Visual Studio中“调试”菜单下的“选项”,其中一个设置允许您通过选择要部署的项目来控制此项(在包/发布下):仅运行此应用程序所需的文件

另一个程序集也可能需要您引用的其中一个程序集。

snapshot of the configuration window