繁体   English   中英

C# IO 不适用于 x64 或 x86 配置,仅适用于任何 CPU

[英]C# IO doesn't work on x64 or on x86 configuration only on Any CPU

最近我遇到了非常奇怪的 IO 问题,我注意到当我将项目配置从“Any CPU”更改为 x64 或 x86 输入输出时停止工作。 即使这个简单的代码不起作用,我也无法创建任何文件。

File.WriteAllText(@"CSVTEST.csv","test");

更不用说我用来从“纳斯达克”网站下载 CSV 文件的另一个代码。

using (FileStream fileStream = new FileStream("StockHistoryData.csv", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.nasdaq.com/api/v1/historical/" + symbol + "/stocks/2010-11-14/2020-11-14");
    request.Method = WebRequestMethods.Http.Get;
    request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;

    const int BUFFER_SIZE = 16 * 1024;

    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    {
        using (var responseStream = response.GetResponseStream())
        {
            var buffer = new byte[BUFFER_SIZE];
            int bytesRead;

            do
            {
                bytesRead = responseStream.Read(buffer, 0, BUFFER_SIZE);
                fileStream.Write(buffer, 0, bytesRead);
            } while (bytesRead > 0);
        }
    }
} 

我没有收到任何错误或警告,只是没有创建文件。

我想将项目配置改回“任何 CPU”,但不幸的是我不能这样做,因为我使用的是仅适用于 x64 或 x86 配置的 Microsoft ML 库。 因此,我不太可能继续使用“任何 CPU”配置。

也许有人已经遇到了这个问题,在互联网上我没有找到任何有关此的信息。

我也在考虑动态更改配置,但我认为这是一种糟糕的编码。 更不用说这不会稳定工作

事实证明,当您更改项目配置时,即使文件在为我工作的项目文件夹中,您也应该使用绝对路径。 File.WriteAllText(@"C:\\Users\\VladMishyn\\Desktop\\DIPLOM1\\ASIX\\ASIX\\bin\\Debug\\CSVTEST.csv", "test");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM