※前提条件:本情報はMSTestV2を基づいて説明してる
.Net Core projects 里面已经不支持 DeploymentItem 了,为了从 MSTest V1 迁移到 V2
// Declare this property - this is set by MSTest public TestContext TestContext { get; set; } // In test initialization - note the signature should be exactly this // A static void method with one argument of type TestContext [TestInitialize] public void TestSetup() { var testName = TestContext.TestName; var method = new StackFrame().GetMethod().DeclaringType.GetMethod(testName); var attributes = method.GetCustomAttributes(typeof(DeploymentItemAttribute)).ToArray(); foreach(DeploymentItemAttribute att in attributes) { var origin = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), att.Path); var targetDir = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), att.OutputDirectory); // Creates dir for deployment item Directory.CreateDirectory(targetDir); // Copies item try { File.Copy(origin, targetDir); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Error copying deployment item {0} to {1} message {2}", origin, targetDir, ex.Message); } } }
コメント: