标签: vs-web-site-project

单元测试ASP.net网站项目代码存储在App_Code中

我有一个ASP.net网站项目(.net 3.5).目前,代码文件背后的所有非代码(包括Linq2Sql内容,数据上下文,业务逻辑,扩展方法等)都位于App_Code文件夹中.

我有兴趣在项目的至少某些部分中引入单元测试(使用nunit).我要做的任何单元测试都需要完全访问当前位于App_Code文件夹中的所有代码.到目前为止,我已经做了一些初步阅读,并且共识似乎是:

  • 鉴于我目前的设置,这是不可能的
  • 单元测试需要引用作为已编译dll的一部分的类,并且Web站点项目按定义仅在运行时编译.
  • 为了继续,我需要将我的整个项目转换为Web应用程序,或者将我想要测试的所有代码(即:App_Code的全部内容)移动到类库项目并引用类库项目在网站项目中.这些中的任何一个都将提供对编译的dll格式所需的类的访问,这将允许我对它们进行单元测试.

它是否正确?或者还有另一种方法可以在不重组/重构整个项目的情况下进行单元测试吗?

asp.net nunit unit-testing vs-web-site-project

47
推荐指数
4
解决办法
1万
查看次数

您如何将ASP.Net MVC纳入现有网站项目?

我在Visual Studio 2008 SP1中有一个遗留(哈哈) ASP.Net Webforms 网站项目,我想逐步介绍一些MVC功能.

我可以找到关于如何将ASP.Net MVC与WebForms集成的大部分信息似乎都假定使用Web应用程序项目.但是,似乎无法找到有关如何使用ASP.Net MVC功能改进现有ASP.net网站项目的信息.

我已经回顾了Scott Hanselman的帖子以及他即将出版的书中的第13章,这两本书都假设了Web Application Project类型.

这可能吗?有没有人有这方面的方法?

asp.net asp.net-mvc vs-web-site-project visual-studio

46
推荐指数
4
解决办法
2万
查看次数

如何使用命令行msbuild部署VS2012网站项目而不进行预编译?

我继承了一个非常大的VS2012网站项目(不是Web应用程序),我正在尝试自动化它的部署.项目中有大量的循环引用,所以要使用aspnet_compiler.exe进行预编译我必须打开fixednames.问题是它导致我的四核,16gb ram,ssd开发者机器上的构建需要大约20分钟.之前的开发人员不必处理这个问题,因为他只是将整个源代码复制到生产Web服务器上.

所以在我解决循环引用问题之前,我想至少使用msdeploy自动部署项目.我可以使用visual studio中的发布配置文件,它完全符合我的要求:

  1. 构建引用的DLL并将它们添加到项目中.
  2. web.config是否会转换.
  3. 甚至没有尝试构建网站,只是为我打包成一个zip文件.

我无法弄清楚我的生活是如何让MSBuild.exe做同样的事情!

MSBuild.exe WebProject.vs2012.sln /m /T:Build 
    /p:Configuration=Release`;DeployOnBuild=true`;PublishProfile=TestDeploy
Run Code Online (Sandbox Code Playgroud)

上面的命令仍然尝试执行aspnet_compiler,这不是我想要的.发布配置文件说不应该预编译...但在日志中我看到它正在执行它.

那么:如何在不预编译的情况下使用msbuild部署网站项目?

asp.net msbuild vs-web-site-project msdeploy visual-studio-2012

35
推荐指数
1
解决办法
5万
查看次数

发布网站项目时,临时路径太长

我正在尝试使用" 发布网站"工具发布 ASP.NET网站项目,但是出现此错误:

ASPNETCOMPILER(0,0):错误ASPRUNTIME:指定的路径,文件名或两者都太长.完全限定的文件名必须少于260个字符,目录名必须少于248个字符.

我看到它正在尝试将文件复制到AppData中的一个很长的路径:

Copying all files to temporary location below for package/publish:

C:\Users\imx0\AppData\Local\Temp\1\WebSitePublish\BMW.Web-424993535\obj\Debug\AspnetCompileMerge\Source.

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v /BMW.Web -p C:\Users\imx0\AppData\Local\Temp\1\WebSitePublish\BMW.Web-424993535\obj\Debug\AspnetCompileMerge\Source C:\Users\imx0\AppData\Local\Temp\1\WebSitePublish\BMW.Web-424993535\obj\Debug\AspnetCompileMerge\TempBuildDir
Run Code Online (Sandbox Code Playgroud)

我在.pubxml发布配置文件中找不到有关此临时目录的任何信息.如何更改Visual Studio将文件复制到的临时目录?

asp.net msbuild vs-web-site-project visual-studio web-publishing

32
推荐指数
5
解决办法
2万
查看次数

在ASP.Net Web站点项目中混合使用VB.Net和C#代码?

这个问题相当古老而经常被问到,我在这里有类似的问题,但我的问题更具体一些.

Q1.在ASP.Net网站中混合使用C#和VB.Net代码是否合法?它会起作用吗?如果它的工作方式如何?任何样品都会很好.

Q2.如果混合C#和VB.Net代码有任何影响,那么请分享这些.

我有一个用VB.Net编写的Web项目.我正在研究项目的一个模块.我想用C#编写代码.我不能将整个项目转换为C#,因为我不是唯一一个从事该项目的人.但是,我打算构建的模块,我想用C#内置.

我听说过,对于Web项目,如果我们在C#中编写代码并在VB.net中编写代码,那么将项目编译为dll会出现问题.真的吗?如果是,那么解决方案是什么.

另外,如果我在.Net中构建动态链接库,那么我可以混合使用C#和Vb.Net代码吗?

c# vb.net asp.net vs-web-site-project

23
推荐指数
2
解决办法
2万
查看次数

ASP.NET网站或Web项目

可能重复:
ASP.NET:网站还是Web应用程序?

在Visual Studio中创建新的ASP.NET项目时,我应该选择创建:网站还是项目?

据我所知,Web应用程序项目是使用VS 2003在当天做到这一点的方法,但它现在仍适用吗?使用其中一个的警告是什么?

asp.net vs-web-site-project vs-web-application-project visual-studio

19
推荐指数
1
解决办法
5257
查看次数

如何在runat ="server"表元素中包含thead?

我正在将一个大型网站项目从Visual Studio 2010升级到2012年.在整个项目中,我都有属性的table元素runat="server".其中许多都有其中的thead元素.当我在2012年打开它并尝试构建时,我收到以下错误:

Value of type 'System.Web.UI.HtmlControls.HtmlGenericControl' cannot be converted to 'System.Web.UI.HtmlControls.HtmlTableRow'
Run Code Online (Sandbox Code Playgroud)

删除runat="server"属性或注释掉thead修复它.只注释掉tr里面的元素thead并不能解决它.以下是重现问题的简化示例:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Test.aspx.vb" Inherits="Test" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table id="Example" runat="server">
            <thead>
                <tr>
                    <th>test</th>
                </tr>
            </thead>
        </table>
    </div>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

table元素打开时会发生错误.

如何在不执行以下操作之一的情况下解决此问题?

  • 删除runat="server"属性
  • 删除thead元素
  • 将其更改为asp:table元素

为那些解释2012年正在采取不同行为导致此问题的人投票.

更新:

Web 应用程序中不会出现此问题,仅在网站中出现此问题.

该项目实际上并未升级,只是我的开发环境.在这两种情况下,我都在使用4.0框架

我尝试使用4.5框架,但它没有帮助.

2012年9月10日:我有一个微软支持的开放案例.他们的开发团队正在研究它. …

asp.net upgrade visual-studio-2010 vs-web-site-project visual-studio-2012

19
推荐指数
1
解决办法
6851
查看次数

哪些选项是发布asp.net网站项目的最佳性能 - 部署

我在性能方面提出要求

哪个在服务器上运行速度最快(Windows Server 2012 r2 - 24核 - 64 GB RAM) - 以最快的方式提供页面 - 减少加载时间

Asp.net网站项目,c#,.net 4.5,visual studio 2013 update 3

我不需要网站可更新

我不关心要部署多少文件或多大文件

这里有可用的选项

在此输入图像描述

c# asp.net publishing vs-web-site-project web-deployment

18
推荐指数
1
解决办法
3602
查看次数

Visual Studio定期冻结运行Microsoft.VisualStudio.Web.Host.exe

背景

我维护了几个Visual Studio"网站项目"的网站.

问题

我发现有几个这样的项目,Visual Studio会在我处理代码时经常冻结.某些网站项目不会发生这种情况,我还没有看到它发生在任何Web 应用程序项目上.

症状

  • 每次冻结,我需要大约半分钟才能再次使用它.
  • 在冻结期间,Windows任务管理器报告Microsoft.VisualStudio.Web.Host.exe最大化其中一个CPU核心.

重现步骤

  1. .csApp_Code目录下打开一个文件.
  2. 对文件进行更改.
  3. 保存文件.
  4. 导航到其他位置(例如,切换选项卡,关闭文件,在Windows中打开不同的程序).
  5. 导航回文件(例如切换到它,打开它,或返回到Visual Studio).

有时似乎会触发问题的其他操作:

  • "去定义"
  • 打开文件
  • 预览文件
  • 关闭文件
  • 使用重构
  • "查找用法"

我试过的

  • Visual Studio 2012和Visual Studio 2015
  • 更改网站项目的构建操作
  • 禁用"将网站构建为解决方案的一部分"
  • 删除Web引用和Bin文件夹似乎可以最大限度地减少问题,但显然这会打破网站.也许网站项目在包含大量代码隐藏文件以外的C#代码时会遇到这个问题?

类似的问题

我发现了使用Google的以下潜在相关问题,但它们似乎都没有包含变通方法或解决方案.

hang vs-web-site-project devenv visual-studio-2012

16
推荐指数
3
解决办法
3万
查看次数

错误/警告显示在"错误列表"上,但随后网站项目消失

背景

我继承了一个包含多个项目的解决方案.其中一个项目是一个网站项目...或者至少我很确定这个图标意味着什么(在VS 2010和2013年看起来很不一样,所以我展示了两个:VS 2013左侧,VS 2010在右边):

项目图标 在此输入图像描述

问题

当我重建网站项目时,会生成8个警告.这些正确显示在错误列表中,但只是片刻.

当构建正在运行时,警告会显示一两秒钟

一旦构建过程完成,它们就会消失.

一旦构建完成,警告就会消失

有几点需要注意:

  1. 没有设置过滤器,我无法切换任何消息类型,因为它说每个都有0.
  2. 即使错误已从我的错误列表中消失,它们仍会显示在输出部分中

    输出窗口

  3. 其他项目的警告和错误显示在错误列表中,没有任何这种奇怪之处
  4. 这是一个网站项目,因此属性页面与我熟悉的属性页面截然不同.

    财产页面

  5. 我观察到同样的错误行为

我尝试过不同版本的VS,他们都做同样的事情.我试过删除我的.suo文件.我已经玩过所有我能找到的所有相关设置,但没有改变这种行为.

我错过了什么?

c# vs-web-site-project visual-studio

15
推荐指数
3
解决办法
5153
查看次数