2

我将 App_Data 中的 XML 文件与 Intranet 应用程序主页上的中继器结合使用,允许我在用户登录时向用户显示有关应用程序状态、维护等的消息。为了测试功能,最好有开发中的 App_Data 文件夹中的文件,但是如果我这样做,它会在我发布应用程序时将其复制到生产服务器上的文件中。无论如何我可以防止这种情况发生,而不是去一个 Web 部署项目(这会解决我的问题)吗?

4

3 回答 3

2

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

编辑:看到该复选框对您的项目不可用,我会考虑使用 Visual Studio 的VS2005 Web 部署插件。我自己没有使用过它,但是在调试和发布模式之间自定义发布的功能看起来很有希望。

于 2008-10-17T15:04:36.390 回答
1

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

除了类似的东西,我知道没有办法让 Visual Studio 本身在部署时省略这些文件/文件夹。

于 2008-10-17T15:04:54.003 回答
1

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

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

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

于 2008-10-30T00:57:06.870 回答