在ASP.Net项目中为程序集添加许可证文件

时间:2011-08-15 20:05:29

标签: asp.net xml iis-7 .net-assembly

我有一个xml许可证文件需要部署在与引用它的程序集相同的目录中。

我假设BIN文件夹是正确的位置。然而,正在发生的是ASP.Net正在将程序集复制到类似于C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ swsscriptstest \ ef2666d0 \ 23e85c28 \ assembly \ dl3 \ 9353205e的文件夹中\ 6605f3df_cd85cb01。 IIS自行清理后,将删除这些文件。

因为它是XML而不是汇编文件,所以我无法使用配置。

我还尝试将该文件添加为“嵌入式资源”,但没有运气。

有人可以提供任何建议吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

您需要将XML添加到解决方案中,并将“复制到输出目录”设置为“始终复制”。

答案 1 :(得分:0)

你在用xml文件做什么?如果您正在应用程序中阅读/写入它,最好放在〜/ App_Data中。您可以使用Server.MapPath("~/App_Data/nameOfYourXmlFile.xml")在运行时获取完整路径。

http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx

答案 2 :(得分:-1)

您是出版商吗?

如果是这样,那么听起来你的代码完全错了。

如果是配置信息,它就属于配置文件,这样任何应用程序开发人员都可以在正常级别处理它。

如果不是,请将其放在app_data文件夹中。这是为此目的而设计的特殊文件夹。

重点是,您无法知道程序集的执行位置。它可能是在bin文件夹中的gac'd,或者是在其他目录中优化的。


另一种选择:

如果您拥有的程序集具有安装程序,请在Web服务器上运行该程序集。这很可能会将程序集与相应的许可证文件一起复制到GAC。

如果没有安装程序,请尝试将程序集放入GAC。然后找出窗口实际存储它的位置并将许可文件复制到那里。