Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.net Web应用程序项目目录结构_Asp.net_Web Deployment Project_Web Application Project - Fatal编程技术网

ASP.net Web应用程序项目目录结构

ASP.net Web应用程序项目目录结构,asp.net,web-deployment-project,web-application-project,Asp.net,Web Deployment Project,Web Application Project,我最近将一个ASP.net 2.0网站项目转换为ASP.net 3.5 Web应用程序项目,并且我仍然习惯于文件的结构方式 我遇到的问题是,当我构建相应的Web部署项目时,它会复制obj目录。但据我所知,obj目录只是一个中介,并不能为部署的网站提供任何有用的用途,对吗 如果这是正确的,是否有某种方法来配置Web应用程序项目以将中介obj目录放在其他地方,或者是否有其他方法可以正确处理此问题?只需在.csproj\u部署文件中添加以下内容 <Target Name="AfterBuild"

我最近将一个ASP.net 2.0网站项目转换为ASP.net 3.5 Web应用程序项目,并且我仍然习惯于文件的结构方式

我遇到的问题是,当我构建相应的Web部署项目时,它会复制
obj
目录。但据我所知,
obj
目录只是一个中介,并不能为部署的网站提供任何有用的用途,对吗


如果这是正确的,是否有某种方法来配置Web应用程序项目以将中介
obj
目录放在其他地方,或者是否有其他方法可以正确处理此问题?

只需在.csproj\u部署文件中添加以下内容

<Target Name="AfterBuild">
    <Message Text="------ Deleting unwanted files ------" Importance="high" />
    <CreateItem Include="$(OutputPath)obj">
        <Output TaskParameter="Include" ItemName="ObjDirPattern"/>
    </CreateItem>
    <RemoveDir Directories="@(ObjDirPattern)">
        <Output TaskParameter="RemovedDirectories" PropertyName="objdir" />
    </RemoveDir>
    <Message Text="Deleted obj directory: $(objdir)" Importance="high" />
</Target>


有关详细信息,请参见

为什么不使用发布功能??因为它根本不创建obj文件夹,所以我喜欢Web部署项目方法,因为它允许我将其作为特定配置的构建阶段。因此,我可以有一个“暂存”配置,当我构建它时,它会部署到我的IIS暂存站点。有什么原因我不应该使用这种方法吗?你的方法没有错,但是由于你将项目从网站转换为web应用程序项目,你应该手动删除此文件夹,因为VS在网站项目中使用此文件夹来控制项目调试。是的,我尝试过删除它,并将其从项目中排除,但在构建Web部署项目时,obj目录仍会复制到部署目标。