在ASP.NET网站项目的bin文件夹中包含XML文件

时间:2009-08-17 21:44:49

标签: asp.net

我需要从ASP.Net网站附带的类库的bin文件夹中获取XML文件。现在,当我构建项目时,xml文件位于类库的bin文件夹中,但它不会被复制到网站的bin文件夹中。

我见过使用post-build事件的解决方案,但那些仅在Web应用程序项目中,所以我不能使用它?

还有其他想法吗?

3 个答案:

答案 0 :(得分:0)

将要复制的文件(f4)的属性更改为输出目录= true

应该按照自己的意愿行事。

答案 1 :(得分:0)

没有一种优雅/简单的方法可以为您的网站项目执行此操作(您甚至无法像使用Web应用程序项目模板那样将/ bin文件夹添加到项目中。)

我建议的是,不要将.xml放入/ bin,而是将其放在/ config文件夹或其他适当的文件夹和引用中。

答案 2 :(得分:0)

将文件作为资源添加到项目中(项目属性,“资源”,单击“添加资源”,然后选择“添加现有文件...”。

现在您可以像这样访问文件的内容:

Properties.Resources.YourResourceName;

您可以使用几行代码“重新创建”文件。 Global.asac.cs将是一个很好的地方:

protected void Application_Start(object sender, EventArgs e)
{
    // ... get the bin directory ...
    if (!System.IO.File.Exists(YourBinDir))
    {
        System.IO.File.AppendAllText(YourBinDir, Properties.Resources.YourResourceName);
    }
}

但我还建议你在App_Data文件夹中存储这样的文件。无论您是选择将其与应用程序的其余部分一起部署,还是让它们在缺失时重新创建它们,都取决于您。 :)