我有一个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而不是汇编文件,所以我无法使用配置。
我还尝试将该文件添加为“嵌入式资源”,但没有运气。
有人可以提供任何建议吗?
谢谢!
答案 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。然后找出窗口实际存储它的位置并将许可文件复制到那里。