如何配置无csproj文件的旧.NET Web项目构建输出目录
配置无csproj的旧.NET Web项目构建输出目录
这类没有csproj文件的项目属于ASP.NET Web Site项目(区别于Web Application项目),项目配置主要通过网站属性面板或修改解决方案配置来设置输出目录,以下是具体操作:
方法1:通过Visual Studio网站属性面板设置
- 打开解决方案,在解决方案资源管理器中选中你的Web Site项目(通常是带有地球图标的节点)
- 右键点击项目,选择属性页(注意不是普通的“属性”选项,Web Site项目没有常规属性窗口)
- 在弹出的属性页窗口中,找到生成(或Build)选项卡
- 在输出文件夹(Output Folder)栏中,输入目标输出目录路径,比如
..\BuildOutput\Debug,也可以点击右侧浏览按钮选择路径 - 分别为Debug和Release配置设置对应的输出目录,完成后点击确定保存
方法2:手动修改解决方案文件(.sln)
如果属性面板找不到对应选项,可直接编辑sln文件:
- 关闭Visual Studio,找到你的.sln文件,用文本编辑器(如Notepad++)打开
- 定位到Web Site项目对应的配置块,格式类似:
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "YourWebSite", "http://localhost/YourWebSite", "{12345678-1234-1234-1234-1234567890AB}" ProjectSection(WebsiteProperties) = preProject TargetFrameworkMoniker = ".NETFramework,Version=v4.7.2" Debug.AspNetCompiler.VirtualPath = "/YourWebSite" Debug.AspNetCompiler.PhysicalPath = "YourWebSite\" Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\YourWebSite\" Release.AspNetCompiler.VirtualPath = "/YourWebSite" Release.AspNetCompiler.PhysicalPath = "YourWebSite\" Release.AspNetCompiler.TargetPath = "PrecompiledWeb\YourWebSite\" ... EndProjectSection EndProject
- 修改
Debug.AspNetCompiler.TargetPath和Release.AspNetCompiler.TargetPath的值为目标输出目录,比如将PrecompiledWeb\YourWebSite\改为..\BuildOutput\Debug\(Debug配置)和..\BuildOutput\Release\(Release配置) - 保存sln文件,重新打开Visual Studio,构建时就会输出到指定目录
注意事项
- 这类项目采用预编译构建模式,输出目录对应预编译后的网站文件
- 若需更精细的构建控制,可在web.config的
<compilation>节点中添加tempDirectory等属性,但核心输出目录仍需通过上述两种方式设置
内容的提问来源于stack exchange,提问作者marteloafricano
相关产品推荐
相关产品推荐

