如何最小化ASP.NET C#项目DLL大小?

如何最小化ASP.NET C#项目DLL大小?,c#,asp.net,visual-studio-2008,C#,Asp.net,Visual Studio 2008,我在VisualStudio2008中从事一个项目,该项目的DLL当前超过20MB。有没有一种方法可以分析这个DLL,搜索这个大小的主要贡献者 我怀疑在解决方案中把它分解成更小的项目会有所帮助,但我正在寻找一个更快的解决方案(尽管恐怕不是更好) 作为旁注,我们得到了“意外错误写入元数据”错误,我们认为这与DLL大小有关。但是,重新启动VisualStudio2008时,错误消失。直到几次重建之后,它再次出现。磁盘空间不是问题。耶!你可能有一些巨大的resx文件(或其他嵌入的内容)正在嵌入到dll

我在VisualStudio2008中从事一个项目,该项目的DLL当前超过20MB。有没有一种方法可以分析这个DLL,搜索这个大小的主要贡献者

我怀疑在解决方案中把它分解成更小的项目会有所帮助,但我正在寻找一个更快的解决方案(尽管恐怕不是更好)


作为旁注,我们得到了“意外错误写入元数据”错误,我们认为这与DLL大小有关。但是,重新启动VisualStudio2008时,错误消失。直到几次重建之后,它再次出现。磁盘空间不是问题。

耶!你可能有一些巨大的resx文件(或其他嵌入的内容)正在嵌入到dll中吗?也许将这些视为外部内容?我将从查看项目树中的文件开始。。。20Mb必须来自某个明显的地方——大型图形等等。

Microsoft.SharePoint.dll是9Mb。即使对于像SharePoint这样的复杂产品,DLL也被分为不同的项目

如果您有一个大型项目,并且资源中没有任何内容,我是否可以建议将您的项目拆分为不同的程序集

我看到了您在VS2003环境(Microsoft在上显示)上的确切错误。但是,由于您使用的是VS2008,这也可能是由于磁盘空间问题

是否验证Visual Studio使用的所有磁盘都未满/几乎满

将向您显示内容

可能也有帮助吗

更新: 也许在这里也有帮助。您可以在“配置文件模式”下运行它,该模式通过执行应用程序并查看它加载的内容来工作。

Oops! 发现了一堆(50+)使用Crystal Reports生成的巨大报告模板,每个模板大约1MB


我们所要做的就是将他们排除在项目之外。

+1同意。即使是巨大的基础设施组件也最多只有2-3MB。如果你没有一些庞大的资源——图像、声音、某种大型二进制文件——把你弄得乱七八糟的话,我会感到震惊。我曾经有一次生成了一个大约8-9mb的DAL程序集,谢天谢地,别再这样了!磁盘几乎是空的。更新问题。