Sự cố với thuộc tính DeploymentItem


94

Tôi hiện đang duy trì một hệ thống "cũ" được viết bằng C # .net, loại bỏ một số tính năng lỗi thời và thực hiện một số cấu trúc lại. Cảm ơn chúa, anh chàng trước đó đã viết một số bài kiểm tra đơn vị (MSTests). Tôi khá thoải mái với các bài kiểm tra JUnit, nhưng vẫn chưa làm được nhiều với MSTests.

Các phương pháp thử nghiệm có một DeploymentItemthuộc tính, chỉ định một tệp văn bản được phân tích cú pháp bằng phương pháp logic nghiệp vụ đang được thử nghiệm và phương thức thứ hai DeploymentItem, nơi chỉ một đường dẫn đã được chỉ định chứa một loạt các tệp TIF cũng phải được triển khai.

[TestMethod()]
[DeploymentItem(@"files\valid\valid_entries.txt")]
[DeploymentItem(@"files\tif\")]
public void ExistsTifTest()
{
   ...
}

Các thử nghiệm đã hoạt động trước đây, nhưng bây giờ tôi phải thay đổi tên của các tệp TIF có trong thư mục \ files \ tif. Theo quy tắc, tên tệp TIF phải khớp với một mẫu nhất định cũng được kiểm tra bằng ExistsTifTest()phương pháp này. Bây giờ tôi đã phải thay đổi tên tệp để điều chỉnh chúng với các yêu cầu mới và chắc chắn các tệp TIF không còn được triển khai như trước nữa.

Ai đó có thể cho tôi một gợi ý tại sao điều này xảy ra hoặc nguyên nhân có thể là gì không? Điều tương tự cũng xảy ra nếu tôi thêm một tệp văn bản mới nói "my2ndTest.txt" bên cạnh "valid_entries.txt" trong thư mục \ files \ valid \ với thuộc tính DeploymentItem theo phương pháp thử nghiệm. Tệp không được triển khai?

Bây giờ tôi đã triển khai các hình ảnh bằng cách xác định đường dẫn triển khai trực tiếp trong testrunconfig, nhưng tôi muốn hiểu tại sao những điều này xảy ra hoặc tại sao tệp mới "my2ndTest.txt" của tôi không được triển khai trong khi các tệp khác thì làm.


2
Một vấn đề lớn ở đây là nhận ra rằng tất cả các mục được chỉ định trong DeploymentItemAttribute sẽ được sao chép vào vị trí nơi các tổ hợp thử nghiệm của bạn chạy từ đó. Nói cách khác, nếu bạn hy vọng rằng nó sẽ bảo toàn cấu trúc thư mục của bạn, bạn sẽ gặp may. Nếu bạn cần sao chép nó vào một thư mục cụ thể, thì hãy sử dụng phiên bản DeploymentItem (source, outputDir) hai tham số. FYI - bạn có thể đến trường cũ để tìm nơi chạy các tệp cho MsTest bằng cách thả System.Console.WriteLine (System.Enosystem.CurrentDirectory) vào một trong các bài kiểm tra của bạn. NCrunch không có vấn đề này!
CodeMonkeyKing

Câu trả lời:


111

DeploymentItem là một chút lộn xộn.

Mỗi tệp trong giải pháp của bạn sẽ có cài đặt "Sao chép vào thư mục đầu ra" trong VS.NET. Bạn cần phải là "Copy Always" (hoặc tương tự) để đưa các tệp vào thư mục đầu ra.

Kiểm tra xem bạn đã có bộ này cho các tệp mới chưa. Nếu bạn không có bộ này thì các tệp sẽ không được sao chép vào thư mục đầu ra và sau đó chúng không thể được triển khai từ thư mục đầu ra đến thư mục nơi MSTest thực hiện nó.

Cá nhân tôi, nếu tôi có các tệp mà tôi cần cho các bài kiểm tra đơn vị của mình, tôi nhận thấy rằng nhúng các tệp đó dưới dạng tài nguyên vào một assembly và để assembly đó tự "giải nén" trong các bài kiểm tra là một cách hoạt động dễ đoán hơn. YMMV.

lưu ý: Những nhận xét này dựa trên kinh nghiệm của tôi với VS2010. Nhận xét cho câu trả lời của tôi sẽ cho thấy rằng đây không phải là vấn đề với VS2012. Tôi vẫn ủng hộ các nhận xét rằng việc sử dụng tài nguyên nhúng ít liên quan đến "ma thuật" hơn và đối với tôi, làm cho giai đoạn "sắp xếp" các bài kiểm tra đơn vị của tôi rõ ràng hơn nhiều.


3
Copy To Output Directory không bao giờ ảnh hưởng đến cách MSTest triển khai tệp. Câu trả lời này không chính xác.
kzu

19
Trên VS2010 Premium, việc thực hiện thay đổi này (và không có thay đổi nào khác) khiến tệp triển khai. Vì vậy, tôi kết luận dựa trên bằng chứng thực tế rằng nó KHÔNG ảnh hưởng đến việc triển khai MsTest.
JonStonecash

1
Đã đồng ý. Tôi đã thấy thay đổi duy nhất này khiến DeploymentItem nhăn mặt ngược lại.
Martin Peck

2
Điều này dường như không còn được yêu cầu trên VS2012. Các mục triển khai của tôi đang được triển khai với "Sao chép vào thư mục đầu ra" được đặt thành "Không sao chép".
Mike

29
Thật tuyệt khi DeploymentItem không thông báo cho bạn khi nó không thể sao chép một tệp duy nhất mà bạn đã cung cấp.

74

Trong VS2010, Local.testsettings của tôi đã bỏ chọn "Enable Deployment" và thuộc tính DeploymentItem không hoạt động. Tôi đã kiểm tra nó và mọi thứ hoạt động tốt. Tôi hi vọng cái này giúp được!


2
Tôi đã đập đầu vào bức tường gạch trong nhiều năm để cố gắng làm cho nó hoạt động .... thankyou!
mat-McLoughlin

12
Tôi nghĩ sẽ rất tuyệt nếu khung công tác đưa ra cảnh báo rằng các thuộc tính DeploymentItem đang bị bỏ qua nếu cài đặt này bị tắt. Tôi cũng đặt một ấn tượng lõm đẹp vào bàn của tôi.
Alan McBee - MSFT

2
Lưu ý rằng Local.testsettings là trong Solution Items
Matthew Khóa

Tôi cũng đã có thêm thư mục chứa các mục tôi muốn triển khai thành Local.testsettings thêm: i.imgur.com/p1z3m9R.png
Matthew Khóa

Sử dụng VS2017 vào năm 2018, kiểm tra 'Bật triển khai' vẫn là giải pháp cho vấn đề này. Và đáng buồn là bây giờ vẫn còn cảnh báo từ Visual Studio. Vì vậy, cảm ơn cho giải pháp này.
Don H

19

Tôi cũng đã phải đối mặt với các vấn đề tương tự nhưng tôi đã tìm thấy giải pháp 3 bước dễ dàng cho việc này:

Giả sử cấu trúc thư mục của bạn trông giống như sau: SolutionFolder\ TestProjectFolder\ SubFolder\

  1. Đi tới "Các mục giải pháp / Local.testsettings"> "Triển khai"> Chọn "Bật triển khai"
  2. Nếu bạn đang sử dụng VS2010, hãy đảm bảo rằng bất kỳ tệp nào bạn muốn triển khai đều có thuộc tính "Sao chép vào thư mục đầu ra" được đặt thành "Sao chép luôn" hoặc "Sao chép nếu mới hơn"
  3. Thuộc tính TestMethod của bạn với một trong các:
    • [DeploymentItem(@"TestProjectFolder\SubFolder")]triển khai tất cả nội dung của <SubFolder>thư mục Chạy thử nghiệm
    • [DeploymentItem(@"TestProjectFolder\SubFolder", "TargetFolder")] triển khai tất cả nội dung của <SubFolder>đến <TargetFolder>trong thư mục Chạy thử nghiệm

Một lưu ý cuối cùng về MSTest (ít nhất là cho VS2010):

Nếu bạn muốn <TargetFolder>có cùng tên với <SubFolder>, việc sử dụng [DeploymentItem(@"SubFolder", @"SubFolder")]sẽ không thành công khi người chạy MSTest gặp phải trường hợp cạnh ngớ ngẩn. Đây là lý do tại sao bạn nên tiền tố <SubFolder>với <TestProjectFolder>như vậy:[DeploymentItem(@"TestProjectFolder\SubFolder", @"SubFolder")]


Lưu ý về lỗi đặt tên SubFolder là một viên ngọc.
RJ Lohan,

1
VS 2015 dường như có một chút khác biệt. Tôi cần xóa phần "TestPojectFolder" trong Thuộc tính DeploymentItem.
uli78,

15

Vì hy vọng sẽ giúp được người khác: Tôi đã thử tất cả các đề xuất ở đây và mục triển khai của tôi vẫn không được sao chép.

Những gì tôi phải làm ( như được đề xuất ở đây ) là thêm một tham số thứ hai vào thuộc tính DeploymentItem:

[DeploymentItem(@"UnitTestData\TestData.xml", "UnitTestData")]

10

Nếu bạn truy cập tệp .testrunconfig của mình và trong phần triển khai, bỏ chọn "Bật triển khai", các bài kiểm tra sẽ chạy ở vị trí bình thường của chúng và mọi thứ sẽ hoạt động giống như khi chạy ứng dụng bên ngoài bài kiểm tra đơn vị.


Cũng có một số vấn đề với điều này. Là một PM, tôi không có quyền truy cập vào tất cả các công cụ được sử dụng bởi nhà phát triển. Trong trường hợp này, ReSharper đã sao chép tệp một cách chính xác trong khi MSTest không thực hiện được. -> Tôi gặp lỗi trong khi nhà phát triển vẫn ổn. Thay đổi thành 'Kiểm tra-> Chỉnh sửa Cài đặt Kiểm tra -> Cài đặt cục bộ -> Triển khai' bao gồm tệp được đề cập đã sửa lỗi này cho việc sử dụng MSTest của tôi.
boystabo

9

Điều này có thể không liên quan đến vấn đề chính xác của bạn, nhưng đây là một số mẹo tôi tìm thấy với thuộc tính [DeploymentItem].

  1. Sao chép vào thư mục đầu ra nên được đặt thành Sao chép Luôn luôn.

KHÔNG hoạt động khi được sử dụng với thuộc tính [TestInitialize]

[TestInitialize]
[DeploymentItem("test.xlsx")]
public void Setup()
{

Nó phải nằm trên [TestMethod] của bạn, ví dụ:

    [TestInitialize]
    public void Setup()
    {
        string spreadsheet = Path.GetFullPath("test.xlsx");
        Assert.IsTrue(File.Exists(spreadsheet));
        ...
    }

    [TestMethod]
    [DeploymentItem("test.xlsx")]
    public void ExcelQuestionParser_Reads_XmlElements()
    {
        ...
    }

1
Đây là một hạn chế cực kỳ khó chịu. Tôi cảm thấy như đối với nhiều trường hợp, thời gian để triển khai phải là Khởi tạo. Điều gì sẽ xảy ra nếu tất cả các thử nghiệm của tôi sử dụng cùng một hiện vật hỗ trợ? Tôi đoán tôi phải sao chép và dán các trình trang trí qua hàng chục phương pháp thử nghiệm? Nực cười.
Ryanman

5

Sau khi thử tất cả các đề xuất khác được liệt kê ở đây, tôi vẫn không thể tìm ra điều gì đang xảy ra. Cuối cùng, tôi phát hiện ra rằng không có tệp cài đặt nào được chọn trong menu Cài đặt Kiểm tra / Kiểm tra, điều đó có nghĩa là Triển khai chưa được bật. Tôi nhấp vào mục menu Kiểm tra / Kiểm tra Cài đặt / Chọn Tệp Cài đặt Kiểm tra, chọn tệp Local.TestSettings, sau đó mọi thứ hoạt động.


4

Không chắc liệu điều này có trả lời chính xác câu hỏi hay không, nhưng nó có thể giúp ích cho một số người. Đầu tiên, tôi thấy hộp "Bật triển khai" phải được chọn để triển khai hoạt động. Thứ hai, tài liệu nói rằng đường dẫn nguồn là "liên quan đến đường dẫn dự án" mà lúc đầu tôi coi đó là thư mục dự án. Trên thực tế, nó dường như đề cập đến thư mục đầu ra bản dựng. Vì vậy, nếu tôi có một thư mục dự án có tên là 'TestFiles' và một tệp trong đó được gọi là Testdata.xml, sử dụng thuộc tính theo cách này không hoạt động:

[DeploymentItem(@"TestFiles\Testdata.xml")] 

Tôi có thể đánh dấu Testdata.xmltệp Copy Alwaysđể bản dựng đặt một bản sao bên dưới thư mục đầu ra (ví dụ Debug\TestFiles\TestData.xml:). Sau đó, cơ chế triển khai sẽ tìm bản sao của tệp nằm tại đường dẫn đó ( TestFiles\Testdata.xml) liên quan đến đầu ra bản dựng. Hoặc, tôi có thể đặt thuộc tính theo cách này:

[DeploymentItem(@"..\\..\TestFiles\Testdata.xml")] 

và cơ chế triển khai sẽ tìm thấy tệp gốc. Vì vậy, cả hai đều hoạt động, nhưng tôi nhận thấy rằng việc sử dụng Copy Alwaystôi đôi khi gặp phải vấn đề tương tự mà tôi gặp phải khi chỉnh sửa tệp app.config trong một dự án - nếu tôi không thay đổi mã hoặc buộc xây dựng lại, không có gì kích hoạt sao chép các tệp được đánh dấu được sao chép trên bản dựng.


Đường dẫn tương đối là vấn đề đối với tôi và điều này đã khắc phục nó. Tôi đã thêm 2 bộ câu lệnh DeploymentItem tùy thuộc vào cách chạy thử nghiệm.
Ed Bayiates

3

Tôi đã tắt cờ Triển khai trước. Nhưng ngay cả sau khi tôi kích hoạt nó, vì một số lý do không xác định, không có gì ngay cả DLL đích vẫn được sao chép. Tình cờ tôi mở cửa sổ Test Run và giết tất cả các lần chạy trước đó và kỳ diệu thay, tôi tìm thấy tất cả các tệp DLL và tệp tôi cần trong thư mục thử nghiệm ngay lần chạy tiếp theo ... Rất khó hiểu.


2

Tôi đang gặp sự cố lớn khi cố gắng triển khai tệp - hãy thử tất cả các đề xuất ở trên.

Sau đó, tôi đóng VS2010; đã khởi động lại nó, tải giải pháp và mọi thứ đều hoạt động. (!)

Tôi đã kiểm tra một số; Sau khi đặt cờ 'Bật triển khai' trên local.TestSetting, bạn không nên đơn giản chạy lại thử nghiệm từ cửa sổ Kết quả kiểm tra. Bạn phải xóa lần chạy thử nghiệm trước đó khỏi giao diện người dùng, ví dụ: bằng cách chạy một thử nghiệm khác hoặc bằng cách mở lại giải pháp của bạn.


2

Không sử dụng DeploymentItem.

Rất khó để thiết lập chính xác và nó không hoạt động với trình chạy thử nghiệm ReSharper của tôi cũng như trình chạy gốc cho MSTEST trong Visual Studio 2017.

Thay vào đó, hãy nhấp chuột phải vào tệp dữ liệu của bạn và chọn thuộc tính . Chọn Sao chép vào thư mục đầu ra: Luôn luôn .

Bây giờ trong thử nghiệm của bạn, hãy làm điều này. Thư mục chỉ đơn giản là thư mục của tệp liên quan đến dự án thử nghiệm. Dễ dàng.

    [TestMethod()]
    public void ParseProductsTest()
    {
        // Arrange
        var file = @"Features\Products\Files\Workbook_2017.xlsx";
        var fileStream = File.Open(file, FileMode.Open);
        // etc.
    }

Điều này dường như hoạt động tốt với các hệ thống xây dựng và thử nghiệm tự động.


1

Vì tôi luôn thấy thuộc tính DeploymentItem là một mớ hỗn độn, tôi thực hiện việc triển khai các tệp như vậy bằng cách sử dụng tập lệnh sau xây dựng. - Đảm bảo rằng các tệp bạn muốn sao chép có thuộc tính Copy Always được đặt. - Sửa đổi tập lệnh sau xây dựng dự án thử nghiệm của bạn để sao chép các tệp từ thư mục đích xây dựng (Bin \ Debug) đến vị trí mà thử nghiệm của bạn đang mong đợi chúng.


1

Hãy thử điều này cho VS2010. Vì vậy, bạn không cần phải thêm DeployItems cho mọi tif
Xóa

[DeploymentItem(@"files\valid\valid_entries.txt")]  
[DeploymentItem(@"files\tif\")]  

Thêm cấu hình thử nghiệm.
- nhấp chuột phải vào nút giải pháp trong trình khám phá giải pháp
- Thêm -> Mục mới ...
- Chọn nút Cài đặt thử nghiệm ở bên trái, chọn mục ở bên phải
- Nhấp vào Thêm

Gọi nó vd TDD

Chọn TDDdưới TestMenu> Edit Testsettings.

Nhấp vào Triển khai. Kích hoạt nó và sau đó Thêm các tệp và thư mục mà bạn muốn. Sẽ có một đường dẫn liên quan đến giải pháp. Các tập tin sẽ được đưa vào. Tệp gốc là ví dụ ở đây:

D:\Users\Patrik\Documents\Visual Studio 2010\Projects\DCArrDate\WebMVCDCArrDate\Trunk\WebMVCDCArrDate\Authority.xml  

Khi tôi chạy thử nghiệm đơn vị của mình, nó sẽ được sao chép vào

D:\Users\Patrik\Documents\Visual Studio 2010\Projects\DCArrDate\WebMVCDCArrDate\Trunk\WebMVCDCArrDate.Tests\bin\Debug\TestResults\Patrik_HERKULES 2011-12-17 18_03_27\Authority.xml  

trong testcode, tôi gọi nó từ:

[TestMethod()]
public void Read_AuthorityFiles_And_ParseXML_To_Make_Dictonary()  
{  
  string authorityFile = "Authority.xml";  
  var Xmldoc = XDocument.Load(authorityFile);  

Không cần phải chọn Copy Always; đưa các tập tin vào testproject; thêm các đường dẫn được mã hóa cứng trong mã thử nghiệm. Đối với tôi giải pháp này hoạt động tốt nhất. Tôi đã thử với DeploymentItem, sao chép luôn nhưng nó không theo ý tôi.


1

Đối với những người thích tránh sự lộn xộn của DeploymentItem và sử dụng phương pháp được đề xuất bởi @Martin Peck (câu trả lời được chấp nhận), bạn có thể sử dụng mã sau để truy cập nội dung của tài nguyên được nhúng:

public string GetEmbeddedResource(string fullyQulifiedResourceName)
{
    var assembly = Assembly.GetExecutingAssembly();
    // NOTE resourceName is of the format "Namespace.Class.File.extension";

    using (Stream stream = assembly.GetManifestResourceStream(fullyQulifiedResourceName))
    using (StreamReader reader = new StreamReader(stream))
    {
        string result = reader.ReadToEnd();
    }
}

Để biết chi tiết, hãy xem SO Thread này


1
Tôi đã gặp sự cố với Assembly.GetExecutingAssembly () khi chạy trên máy chủ xây dựng -> nó sẽ trả về trình chạy thử nghiệm thay vì lắp ráp thử nghiệm thực tế. Lấy cụm bằng cách phản chiếu nó ra một kiểu cố định trong testassembly (ví dụ: lớp kiểm thử của bạn) đã giải quyết được vấn đề này cho tôi.
Arno Peters

1

Đối với tôi, nguyên nhân gốc rễ là một cái gì đó hoàn toàn khác: Mã sản xuất đang được thực hiện trong các thử nghiệm của tôi đã được đổi tên và / hoặc xóa tệp thử nghiệm .xml đang được triển khai.

Do đó, khi tôi chạy các bài kiểm tra của mình một cách riêng lẻ, chúng sẽ vượt qua, nhưng khi chạy tất cả chúng cùng nhau, lần kiểm tra thứ 2 và tiếp theo sẽ không thành công với lỗi "không tìm thấy tệp" (mà ban đầu tôi đã chẩn đoán nhầm là DeploymentItemthuộc tính không hoạt động).

Giải pháp của tôi là yêu cầu từng phương pháp thử nghiệm riêng lẻ tạo một bản sao của tệp đã triển khai (sử dụng kỹ thuật này ), sau đó để mã sản xuất đang được kiểm tra sử dụng tệp đã sao chép thay vì bản gốc.


1

Chúng tôi đã dành rất nhiều thời gian cho vấn đề các hạng mục Triển khai để giải quyết nó trong quá trình chạy đơn nhất cục bộ và chạy lại đơn vị nhất trong đội. Nó không phải là dễ dàng.

Công cụ rất tốt để gỡ lỗi vấn đề này là ProcessExplorer . Sử dụng trình khám phá quy trình, bạn có thể kiểm tra Visual Studio đang tìm kiếm các mục triển khai ở đâu và thực hiện sửa đổi dự án. Chỉ cần lọc tất cả hoạt động của tệp trong đó đường dẫn chứa tên tệp triển khai của bạn và bạn sẽ thấy nó.


Tôi biết đây là một câu trả lời rất cũ, nhưng nếu bạn có thể giải thích chi tiết về cách bạn sử dụng ProcessExplorer, điều đó sẽ hữu ích. Tôi không thấy làm thế nào để xem các hoạt động tệp, ít lọc chúng hơn nhiều ...
David

1

Ngoài thuộc tính Deployment cần được kiểm tra, tôi đã phát hiện ra một điều khác về thuộc tính DeploymentItem.

[TestMethod()]
[DeploymentItem("folder\subfolder\deploymentFile.txt")]
public void TestMethod1()
{
   ...
}

DeployFile.txt của bạn cần phải liên quan đến tệp giải pháp chứ không phải testfile.cs.

nhập mô tả hình ảnh ở đây


Cuối cùng tôi đã làm được điều này bằng cách để nguồn DeploymentItem của tôi có liên quan đến dự án thử nghiệm. Vì vậy, tôi có một dự án trong giải pháp của mình, "Service.Tests". Dưới đó tôi có một thư mục "FilesForTests" chứa các tệp tôi muốn sao chép. Tôi đã sử dụng [DeploymentItem(@"FilesForTests\MyFile.txt", "FilesForTests")]. Tôi nghĩ rằng chúng ta đang nói cùng một điều?
David

1

Tôi đã làm việc này trong VS2013. Phát hiện của tôi để làm cho điều này hoạt động:

  • Sao chép vào thư mục đầu ra nên được đặt thành Sao chép nếu Mới hơn / Sao chép Luôn luôn: MANDATORY.
  • "Bật triển khai" trong .TestSettings: KHÔNG BẮT BUỘC. Tôi đã làm việc này mà không có tệp .TestSettings nào cả.
  • Chỉ định một thư mục làm tham số thứ 2: TÙY CHỌN. Định hình bố cục thư mục đầu ra, hoạt động tốt mà không cần.
  • KHÔNG GIAN trong tên tệp: điều này khiến tôi đau đầu - tệp không bao giờ được sao chép. Loại bỏ các khoảng trống đã khắc phục điều này. Chưa xem xét các nhân vật thoát.

Một mẹo mà tôi cũng đã học được một cách khó khăn: đừng quên thêm thuộc tính này vào từng bài kiểm tra riêng lẻ. Tệp sao chép trong bài kiểm tra được phân bổ đầu tiên trong chạy thử nghiệm, nhưng vẫn bị thiếu khi thứ tự của các bài kiểm tra thay đổi và các bài kiểm tra không được phân bổ cố gắng tìm tệp trước.


Đã thử mọi thứ ở đây trước khi đi đến câu trả lời của bạn, đó là câu trả lời cuối cùng. Thủ phạm: KHÔNG GIAN TRONG FILENAME! Chú thích tốt.
joelmdev

1
Sử dụng Visual Studio 2019. "Sao chép nếu mới hơn" đã sửa nó. Tôi ghét "Sao chép luôn luôn" vì nó buộc dự án phải xây dựng lại trên nhiều tình huống như gỡ lỗi hoặc xây dựng tăng dần.
Gerardo Grignoli

Đã đồng ý. Tôi đã cập nhật câu trả lời của mình để bao gồm Sao chép nếu Mới hơn.
Arno Peters

0

"Gotcha" lớn của tôi là cách DeploymentItem xử lý các thư mục. Tôi đang sử dụng phiên bản hai tham số với cả hai là đường dẫn thư mục chứa các thư mục con mà tôi muốn triển khai. Ban đầu tôi không nhận ra rằng nó chỉ sao chép nội dung trong ROOT của thư mục chứ không phải toàn bộ cấu trúc thư mục đệ quy!

Về cơ bản tôi đã có [DeploymentItem (@ "Foo \", @ "Foo \")] và đang mong đợi nó triển khai Foo \ Bar của tôi. Tôi đặc biệt phải thay đổi nó thành [DeploymentItem (@ "Foo \ Bar \", @ "Foo \ Bar \")] và bây giờ nó hoạt động như một sự quyến rũ.


0

Tôi cũng đã phải đối mặt với những vấn đề tương tự. Tôi đã thực hiện tất cả các bước nêu trên nhưng vẫn không có may mắn. Tôi đang sử dụng VS2010. Sau đó, tôi thấy rằng $ Menu> Kiểm tra> Chọn Cài đặt Kiểm tra Hoạt động> Tác động theo dõi và Kiểm tra đã được chọn. Nó bắt đầu hoạt động sau khi tôi thay đổi Trace và kiểm tra tác động thành Local . Trang này chứa thông tin rất hữu ích về việc sao chép tệp vào thư mục kết quả thử nghiệm, tôi cũng muốn thêm kinh nghiệm này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.