Ian*_*oyd 24 dependencies assemblies web-config visual-studio
每次构建或发布网站时,Visual Studio都会尝试检出web.config文件,以便它可以添加许多不需要的程序集.
换一种说法:
web.config之前:
<configuration>
<system.web>
<compilation>
<assemblies>
</assemblies>
</compilation>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
web.config之后:
<configuration>
<system.web>
<compilation>
<assemblies>
<add assembly="Microsoft.ReportViewer.Common... />
<add assembly="Microsoft.ReportViewer.WinForms... />
<add assembly="System.DirectoryServices... />
<add assembly="System.Windows.Forms... />
<add assembly="ADODB... />
<add assembly="System.Management... />
<add assembly="System.Data.OracleClient... />
<add assembly="Microsoft.Build.Utilities... />
<add assembly="Microsoft.ReportViewer.ProcessingObjectModel... />
<add assembly="System.Design... />
<add assembly="Microsoft.Build.Framework... />
</assemblies>
</compilation>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这些程序集都不是必需的,并且大多数程序集不存在于目标测试或生产服务器上.
我每次构建时都会一直删除它们,但它真的很快就会变得非常烦人.
现在我的解决方法是将web.config保持为只读 - 因此Visual Studio无法向其添加程序集.
截图作为证据:
项目属性页面之前:
链接文字http://i26.tinypic.com/206c46c.jpg
Web.Config之前:
alt text http://i31.tinypic.com/30rr728.jpg
项目属性页面后:
替代文字http://i27.tinypic.com/25a3z2x.jpg
Web.config之后:
alt text http://i32.tinypic.com/2pq6w4w.jpg
应该明确指出,网站的工作没有添加这些无关的引用.我的临时解决方案是将web.config保持为只读,并在Visual Studio在尝试修改它时抱怨它是只读时点击取消.如果我可以阻止Visual Studio首先尝试修改它...
看起来这是不可能的.有人可以随意给出正确的答案," 你无法阻止Visual Studio向你的web.config添加程序集." 我会标记它.
我保持这个问题的唯一原因是,希望有人知道超级秘密选项,或注册表项,或项目或解决方案设置,告诉Visual Studio停止思考.
我不接受接受的答案,如果可以的话,我会接受它.我仍然希望有灵丹妙药.但是现在我倾向于:
如何阻止Visual Studio将程序集添加到我的web.config中?
也许"阿凡达DotNet库"本身就是引用这些组件.需要引用程序集的引用才能正确部署项目.否则,引用的程序集如何工作?
请注意,引用的程序集可能不使用自己的引用,尽管它们存在.
编辑:您可以使用伟大的工具".Net Reflector"来检查这一点.
小智 4
我用VS2005编辑了一个.net 1.1(VS2003).aspx并保存,然后web.config就神秘地有了net。2.0 添加了程序集:
如果我使用VS2008或VS2010,就不会发生这种情况。所以我相信这是 VS2005 IDE 中的一个错误。
归档时间: |
|
查看次数: |
6601 次 |
最近记录: |