0
我想在我的Web应用程序/ Web服务的bin目录中包含一个XML文件。我在Visual Studio的项目中包含了bin文件夹并添加了该文件。我将其构建操作设置为“内容”并将其复制到输出目录以“始终复制”。当我的代码去找到它,我用将内容文件添加到Web服务并从Web服务访问内容文件
string dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
if (!dir.EndsWith(@"\")) dir += @"\";
拿到目录,并返回它作为appPath
,其中appPath
是(转义版本):
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\vs\0c7655f\d4908928\assembly\dl3\5cf9fd67\fdc52284_ffa7d201\
然后我附上的文件名我XML文件(其中string filename = "myXmlFile.xml"
)来阅读:
StreamReader reader = new StreamReader(appPath + filename);
但我得到一个异常的那行代码,它找不到我的文件。我正在处理斜线的罚款,所以不是这样。当我检查路径指向的物理目录时,它没有复制到该目录,这是异常的原因。那么如何让我的文件在那里复制?
非常好!作品!非常感谢! – vapcguy
实际上 - 我们后来发现,如果我们想写任何文件,我不应该在我的文件应该存在的地方使用'bin'。无论何时,您从Web应用程序或服务写入其下的文件夹中的内容文件时,都会重置网站 - 因此将清除任何静态全局变量。对于任何想追随我的脚步的人来说,请谨慎小心。当我们将它移到与站点相同的级别时,一切都很好 - 所以我们现在不再在该路径中使用“bin”。干杯! – vapcguy