Tôi đã quay lại phía sau của VS2010 và xóa một số hình ảnh khỏi thư mục hình ảnh được tham chiếu bởi một dự án web dưới dạng Nội dung. Trong trình hướng dẫn giải pháp, các tệp này hiện hiển thị với biểu tượng cảnh báo màu vàng mà tệp không thể tìm thấy. Làm mới thư mục không có hiệu lực. Có cách nào để nói với VS2010 để tự động đồng bộ một thư mục? Dự án VS Website thực hiện điều này theo mặc định.Xóa tài liệu tham khảo VS2010 vào các tệp đã xóa trong dự án web
Trả lời
Trong Visual Studio, hãy chuyển đến các tệp bị thiếu, chọn chúng và nhấn del
(hoặc nhấp chuột phải và chọn Delete
).
Lưu dự án và bạn sẵn sàng sử dụng.
Như bạn đã lưu ý, đây không phải là tự động - tệp dự án cần được đồng bộ hóa với hệ thống tệp thực tế. Điều này không xảy ra với trang web "dự án" vì không có tệp dự án.
Tôi đã hy vọng không phải làm điều đó, nhưng đó là cuộc sống. –
Tôi đã hy vọng không phải làm điều đó, nhưng đó là sống, không may cũng trong Visual Studio 2013 mới. Tiếp theo thời gian: luôn luôn xóa từ dự án/giải pháp, và không trực tiếp trong các tập tin thám hiểm ... – Langeleppel
trong vs 2015 (không chắc chắn về các phiên bản cũ) có một thanh tìm kiếm phía trên cây dự án của bạn mà bạn có thể sử dụng để lọc và sau đó chọn nhiều lần và nhấn xóa một lần. Mặc dù điều này chỉ hoạt động nếu tất cả các tệp bạn cần xóa tương tự có tên là – agradl
Tôi vừa gặp sự cố này trong VS 2015. Tệp bị thiếu trên toàn bộ dự án web, vì vậy không muốn tìm kiếm tất cả.
Cách nhanh nhất về nhà là: loại trừ tất cả tệp/thư mục sau đó bao gồm chúng tất cả lại.
Đó là:
- solution explorer -> chọn tất cả các file và thư mục -> nhấn chuột phải -> "Loại trừ từ Dự án"
- solution explorer -> bấm vào nút "Hiển thị tất cả Files"
- giải pháp thám hiểm -> chọn tất cả các tệp và thư mục -> nhấp chuột phải -> "Bao gồm trong Dự án"
Lưu ý rằng nhược điểm của phương pháp này là bạn cũng sẽ bao gồm các tệp mà bạn đã loại trừ một cách rõ ràng trước đây. – Chris
Tôi đã tạo tập lệnh PowerShell để giải quyết vấn đề.
function ExtractInclude ($line)
{
if ($line -like '*Content Include=*') {
return $line.Split('"') | select -Skip 1 | select -First 1
}
}
function RemoveMissingInclude ([string]$path, [bool]$report) {
$reader = [System.IO.File]::OpenText($path)
$projectPath = (Split-Path $path) + "/"
try {
for() {
$line = $reader.ReadLine()
if ($line -eq $null) { break }
$pathInclude = ExtractInclude($line)
if ($report) {
if ($pathInclude -ne "") {
if (-not (Test-Path "$projectPath$pathInclude")) { $pathInclude }
}
} else {
if ($pathInclude -ne "") {
if (Test-Path "$projectPath$pathInclude") { $line }
} else {
$line
}
}
}
}
finally {
$reader.Close()
}
}
Chỉ cần chạy phần sau đây để tạo ra một dọn dẹp tập tin dự án:
RemoveMissingInclude -path "D:\path\name.csproj" | Out-File D:\path\nameClean.csproj
thông tin bổ sung có thể được tìm thấy trong bài viết trên blog này: http://devslice.net/2017/06/remove-missing-references-visual-studio/
điều này rất hay nhưng không tính đến rằng thẻ "
tôi đã thực hiện một ứng dụng giao diện điều khiển rất đơn giản cho điều này :
using System;
using System.IO;
using System.Collections.Generic;
namespace CleanProject
{
class Program
{
static void Main(string[] args)
{
var newFile = new List<string>();
if (args.Length == 0)
{
Console.WriteLine("Please specify the project full path as an argument");
return;
}
var projFile = args[0];
if (!File.Exists(projFile))
{
Console.WriteLine("The specified project file does not exist: {0}", projFile);
return;
}
if (!projFile.ToLowerInvariant().EndsWith(".csproj"))
{
Console.WriteLine("The specified does not seem to be a project file: {0}", projFile);
return;
}
Console.WriteLine("Started removing missing files from project:", projFile);
var newProjFile = Path.Combine(Path.GetDirectoryName(projFile), Path.GetFileNameWithoutExtension(projFile) + ".Clean.csproj");
var lines = File.ReadAllLines(projFile);
var projectPath = Path.GetDirectoryName(projFile);
for(var i = 0; i < lines.Length; i++)
{
var line = lines[i];
if (!line.Contains("<Content Include=\"") && !line.Contains("<None Include=\""))
{
newFile.Add(line);
}
else
{
var start = line.IndexOf("Include=\"") + "Include=\"".Length;
var end = line.LastIndexOf("\"");
var path = line.Substring(start, end - start);
if (File.Exists(Path.Combine(projectPath, path)))
{
newFile.Add(line);
}
else
{
if (!line.EndsWith("/>")) // I'm assuming it's only one line inside the tag
i += 2;
}
}
}
File.WriteAllLines(newProjFile, newFile);
Console.WriteLine("Finished removing missing files from project.");
Console.WriteLine("Cleaned project file: {0}", newProjFile);
}
}
}
- 1. Tại sao VS2010 xóa tài liệu tham khảo của tôi?
- 2. VS2010 hội tham khảo giữa các dự án thất bại
- 3. chuyển vào thùng rác và xóa tài liệu tham khảo
- 4. VS Mẫu đa dự án 2010: Tài liệu tham khảo liên dự án
- 5. sử dụng tài liệu tham khảo web
- 6. Bạn làm gì về tài liệu tham khảo khi dỡ một dự án trong Visual Studio?
- 7. cách tạo tệp dự án Visual Studio để sao chép tài liệu tham khảo gián tiếp?
- 8. Tài liệu tham khảo TYPO3
- 9. MSBuild không nhận tài liệu tham khảo của dự án được tham chiếu
- 10. Làm cách nào để di chuyển một Tham chiếu Web từ dự án này sang dự án khác trong VS2010?
- 11. Cách xóa/xóa các dự án đã xóa khỏi điều khiển nguồn TFS
- 12. Thông tư liệu tham khảo trong tôi C# dự án
- 13. Cách tốt nhất để thêm gói NuGet làm tài liệu tham khảo dự án trong VS2012?
- 14. Nuget không quản lý tài liệu tham khảo trong dự án được nhân bản từ git
- 15. Visual Studio giải pháp sạch sẽ không xóa tất cả các dlls/dự án tham khảo được di chuyển
- 16. Xóa các tệp đã xóa khỏi lịch sử git
- 17. Các tài liệu tham khảo dịch vụ WCF
- 18. Visual Studio 2008 - Thêm tài liệu tham khảo
- 19. Git bỏ qua các tệp đã xóa
- 20. vấn đề tham khảo Unity3d với các dự án C#
- 21. C# câu hỏi tham khảo dự án
- 22. Dự án Visual Studio Tham khảo giải pháp bên trong
- 23. Không thể thêm các lớp LINQ to SQL vào các dự án trong VS2010
- 24. Làm cách nào để xóa Tài liệu tham khảo "Insights For My Domain" của Facebook
- 25. Làm cách nào để xóa tham chiếu dự án khỏi dự án trang web trong Visual Studio?
- 26. VS2008 để chuyển đổi dự án VS2010
- 27. Xóa một dự án trong Gerrit
- 28. tài liệu tham khảo Variable trong lisp
- 29. 'này' tài liệu tham khảo trong JavaScript
- 30. Tìm tất cả các tài liệu tham khảo để xem
Sự khác biệt về hành vi là do dự án Ứng dụng Web sử dụng hệ thống dự án dựa trên MSBuild để xác định tệp nào được bao gồm (và được liệt kê trong .csproj/.vbproj), trong khi dự án Web Site chỉ nhìn vào hệ thống tệp. – Jimmy
Bạn có thể xây dựng dự án và sau đó bạn sẽ nhận được danh sách các tệp bị thiếu. Dựa trên danh sách này, bạn có thể phát hiện các tệp bị thiếu và xóa chúng. – starikovs