asp.net asp.net application 升级到 asp.net web 解决找不到控件 批量生成.designer文件
2024-08-27 07:58:55
颇费周折后,其实很简单,只需要生成designer文件后,重新保存所有页面即可。就是懒得写。懒真的是一种病,手上不能懒,脑子里更不能懒,否则就是给自己挖坑,仔细认真,注意细节!!!!
PS:注意修改path变量为自己需要生成的web项目路径
需要注意的是,CodeBehind的路径是绝对路径
参考链接https://oomake.com/question/4935
对于VS2015 ...这里有一个用于从WebSite项目切换到适用于我的Web应用程序项目的VB示例。没有其他解决方案为我工作,这就是为什么我分享这个。这不是优雅,但工作。 第0步:在项目中将所有“CodeFile =”替换为“CodeBehind =” 第1步:关闭解决方案。 第2步:使用以下代码运行本地Windows应用程序(下面的步骤)。 第3步:重新打开解决方案。 第4步:在解决方案资源管理器中,确保显示所有文件,并搜索designer.vb(或C#的designer.cs) 第5步:选择所有丢失的文件,并将它们包含在您的项目中。 第6步:对于每个文件,查看主页/控制并保存。
class Program
{
static void Main(string[] args)
{
var path = "E:\\codes\\SoTop\\SoTop.Web";
ProcessDirectory(new DirectoryInfo(path));
Console.WriteLine("处理完毕");
Console.ReadKey();
}
private static void ProcessDirectory(DirectoryInfo directory)
{
ProcessMask(directory, ".ascx", ".cs");
ProcessMask(directory, ".aspx", ".cs");
foreach (DirectoryInfo directoryInfo in directory.GetDirectories())
ProcessDirectory(directoryInfo);
}
private static void ProcessMask(DirectoryInfo directory, string maskStart, string maskEnd)
{
FileStream fs;
foreach (FileInfo file in directory.GetFiles(string.Format("*{0}{1}", maskStart, maskEnd)))
{
string designerFileName = file.Name.Replace(string.Format("{0}{1}", maskStart, maskEnd), string.Format("{0}.designer{1}", maskStart, maskEnd));
if (directory.GetFiles(designerFileName).Length == 0)
{
using (fs = File.Create(Path.Combine(directory.FullName, designerFileName)))
{
fs.Close();
}
}
}
}
}
最新文章
- jQuery-1.9.1源码分析系列(十二) 筛选操作
- 一种另类的解决URL中文乱码问题--对中文进行加密、解密处理
- linq之orderby子句
- Swift实战-豆瓣电台(六)视图跳转,传参及回跳
- NSAttributedString之设置字间距与行间距
- HDU 1158 Employment Planning【DP】
- Android进阶笔记14:ListView篇之ListView性能优化
- Windows资源文件里VarFileInfo的Translation(EXE的语言描述信息)
- C# 闭包问题
- iOS 界面布局,设置约束
- Delphi判断一个字符是否为汉字的最佳方法
- [转载] Redis快速入门
- struts2(三)之表单参数自动封装与参数类型自动转换
- 详解PNG文件结构
- npm基本操作(安装,搭建环境,打包)
- php生成随机字符串可指定纯数字、纯字母或者混合的
- db2 执行计划
- 去除Many2one字段的“创建并编辑”选项
- redis学习笔记-redis的安装
- C语言lseek()函数:移动文件的读写位置