相关疑难解决方法(0)

如何读取嵌入式资源文本文件

如何使用嵌入式资源(文本文件)StreamReader并将其作为字符串返回?我当前的脚本使用Windows窗体和文本框,允许用户查找和替换未嵌入的文本文件中的文本.

private void button1_Click(object sender, EventArgs e)
{
    StringCollection strValuesToSearch = new StringCollection();
    strValuesToSearch.Add("Apple");
    string stringToReplace;
    stringToReplace = textBox1.Text;

    StreamReader FileReader = new StreamReader(@"C:\MyFile.txt");
    string FileContents;
    FileContents = FileReader.ReadToEnd();
    FileReader.Close();
    foreach (string s in strValuesToSearch)
    {
        if (FileContents.Contains(s))
            FileContents = FileContents.Replace(s, stringToReplace);
    }
    StreamWriter FileWriter = new StreamWriter(@"MyFile.txt");
    FileWriter.Write(FileContents);
    FileWriter.Close();
}
Run Code Online (Sandbox Code Playgroud)

.net streamreader embedded-resource

643
推荐指数
12
解决办法
53万
查看次数

如何使用.NET创建具有特定扩展名的临时文件?

我需要生成一个扩展名为.csv的唯一临时文件.

我现在做的是

string filename = System.IO.Path.GetTempFileName().Replace(".tmp", ".csv");
Run Code Online (Sandbox Code Playgroud)

但是,这并不能保证我的.csv文件是唯一的.

我知道我遇到碰撞的可能性非常低(特别是如果你认为我没有删除.tmp文件),但这段代码对我来说并不好看.

当然我可以手动生成随机文件名,直到我最终找到一个独特的文件名(这不应该是一个问题),但我很想知道其他人是否找到了一个很好的方法来处理这个问题.

.net c# temporary-files

265
推荐指数
8
解决办法
20万
查看次数

MSTest部署项仅在项目测试设置文件中存在时才起作用吗?

我似乎无法掌握如何配置MSTest部署项.我已经能够通过修改项目的测试设置文件来使它们正常工作,但这不太理想 - 部署项配置与单个测试分开,文件路径似乎存储为绝对路径,除非文件是在解决方案文件夹下.

难道我不应该能够添加使用部署项目[DeploymentItem]上无论是属性[TestClass]还是[TestMethod]无需创建/修改项目的测试设置文件?我该如何做到这一点?

(坦率地说,我不明白是否需要单独的部署项配置 - 为什么不使用现有的"复制到输出目录"设置来处理应该是部署项目的项目文件?)

unit-testing mstest visual-studio-2010 deploymentitem

75
推荐指数
3
解决办法
3万
查看次数

DeploymentItem不部署文件

MS unit testing framework用来测试我的C#库.我必须打开一个我正在部署的文件DeploymentItem attribute.但它没有将文件部署到Test部署目录.

在我的Unit-test项目中,我TestFile在这个文件夹中创建了一个文件夹,里面有多个文件,比如a.txt,b.txt.

现在在我的Unit-test类中,我添加了DeploymentItem属性.但文件没有被复制.

这是我的代码.

[TestClass]
[DeploymentItem("TestFile")]
public class CustomLibraryTest
{
    public TestContext TestContext { get; set; }

    [TestMethod]
    [DeploymentItem(@"TestFiles\a.txt")]  // THis should deploy a.txt to test deployment directory
    {
        var path = TestContext.TestDeploymentDir + "a.txt";
        // Now when I debug this unit-test, and open path in explorer,
        // a.txt is not present in "TestResults\Deploy_fhafeez 2013-05-28 13_02_37\Out" folder
    }
}
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

c# unit-testing deploymentitem vs-unit-testing-framework visual-studio-2012

17
推荐指数
2
解决办法
2万
查看次数

在解决方案中运行所有测试时,为什么MSTest DeploymentItem会失败?

我有一个包含几个MSTest项目的Visual Studio 2010解决方案.其中一个测试项目需要运行特定目录中的文件.

[TestClass]
[DeploymentItem("ReportEngine.config")]
[DeploymentItem("Report Files", "Report Files")]
public class MyReportTests { }
Run Code Online (Sandbox Code Playgroud)

当我只运行此项目(或测试类)中的测试时,这些测试通过.报告文件将复制到测试执行目录.当我在解决方案中运行所有测试时,这些测试失败.报告文件不会复制到测试执行目录.

为什么会有差异,如何让两次运行部署相同的项目?

mstest visual-studio-2010

11
推荐指数
1
解决办法
2026
查看次数

vs2012中的DeploymentItem不复制文件

我想在测试中添加部署项.

我的解决方案结构如下:

MySolution\
-- TestData\
  --addresses.xml
-- ProjectName.TestProject\
  --Internal\
    --MyTestClass.cs 
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下属性添加文件:

[DeploymentItem(@"TestData\addresses.xml", " TestData")]
Run Code Online (Sandbox Code Playgroud)

...什么不起作用但如果我指定absuluten文件路径,vs将复制该文件.

[DeploymentItem(@"C:\Dir1\Dir2\TestData\addresses.xml", " TestData")]
Run Code Online (Sandbox Code Playgroud)

c# unit-testing deploymentitem visual-studio-2012

5
推荐指数
1
解决办法
2726
查看次数