有没有办法让App_Data中的文件在发布时覆盖较新的文件?

时间:2008-10-17 14:53:13

标签: asp.net deployment application-data

我在App_Data中使用XML文件与Intranet应用程序主页上的Repeater一起使用,允许我在用户登录应用程序状态,维护等时向用户显示消息。要测试功能,这将是不错的将文件放在正在开发的App_Data文件夹中,但是如果我这样做,它会在我发布应用程序时将其复制到生产服务器上的文件中。无论如何,我可以防止这种情况发生在Web部署项目之外(并且会解决我的问题)吗?

3 个答案:

答案 0 :(得分:2)

在Visual Studio 2005中,我看到一个标有“包含App_Data文件夹中的文件”的复选框,默认为选中。您是否尝试过未选中该复选框进行发布?

编辑:看到该项目无法使用该复选框,我会考虑将VS2005 Web Deployment add-on用于visual studio。我自己没有使用它,但是在调试和发布模式之间自定义发布的功能看起来很有希望。

答案 1 :(得分:1)

为了避免这个问题,我还会部署到本地“临时”位置,本质上是我桌面上的文件夹。一旦文件被Visual Studio编译和部署,我就会删除我不感兴趣的文件(在你的情况下是App_Data),然后是XCopy或使用Windows资源管理器将文件复制到Web服务器。

除了类似的内容之外,我知道无法让Visual Studio在部署时省略这些文件/文件夹。

答案 2 :(得分:1)

另一种方法是拥有“调试”文件和“生产”文件..

Stream xml;
#if DEBUG
xml = File.Open("debug.xml");
#else
xml = File.Open("release.xml");
#endif

在DEBUG模式下编译将使用调试文件,在发布模式下编译将使用发布文件。