我非常熟悉为类库创建NuGet包。昨天我测试了对ASP.NET Web应用程序做同样的事情,令我惊讶的是它有用(有点怪 - 有些怪癖)。
我的Web应用程序很简单,只包含一个.ascx WebUserControl
。我希望最后我会有一个包含我的控件的DLL,类似于你发布网站并从发布网站的bin中提取控件的结果DLL。然而,事情并非如此。
打包NuGet包然后在其他项目中使用它,这样做会导致.ascx文件被完全复制"到安装了NuGet包的项目。来自NuGet包的.ascx文件可以编辑为正常的.ascx文件允许并仍然引用解决方案中不存在的代码。
所以有一些问题。我的问题是 - 有没有人知道我可以遵循的程序将用户控件编译成DLL,然后可以通过NuGet包分发?
答案 0 :(得分:0)
有没有人知道我可以遵循的程序将用户控件编译成DLL,然后可以通过NuGet包分发?
您可以将用户控件转换为自定义控件,这是一个有关如何执行此操作的详细文档。
Turning an ascx user control into a redistributable custom control
实现这一目标的基本步骤如下:
像往常一样编写用户控件,通常使用Visual Studio设计器。
在尝试部署之前使用简单页面对其进行测试。
部署应用程序以预编译它。
抓取部署步骤生成的用户控件的程序集,基本上完成了:您拥有自定义控件。
最后,在其他应用中使用自定义控件的方式与使用自定义控件的方式相同。
将用户控件编译成DLL后,通过NuGet包分发它应该很容易。
希望这可以给你一些帮助。