WPF- '이미지' '프로젝트의 일부가 아니거나 빌드 조치가 리소스로 설정되지 않습니다.'

StackOverflow https://stackoverflow.com/questions/638845

문제

창에 이미지가 필요한 프로젝트가 있습니다. 이것은 정적 이미지이며 '추가> 기존 항목'을 통해 추가했습니다. 프로젝트의 근원에 존재합니다.

나는 다음과 같은 테스트 페이지에서 이미지를 참조합니다.

<Page x:Class="Critter.Pages.Test"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      Title="Test">
      <Image Source="bug.png"/>
</Page>

문제는 찾을 수 없거나 빌드 작업이라는 메시지가 자원이 아니지만 존재하며 빌드 작업은 자원입니다. 새 응용 프로그램을 만들고 창에 버리면 제대로 작동합니다.

어떤 도움이든 좋을 것입니다.

도움이 되었습니까?

해결책

전체 재 구축을 시도하거나 빌드 파일을 삭제 한 다음 파일을 빌드하십시오.

Visual Studio가 항상 리소스 변경 사항을 선택하는 것은 아니며, 재 컴파일을하는 데 어려움이있을 수 있습니다.

또한 같은 문제가 있었을 때 도움이되는 전체 URI를 사용해보십시오. 같은 것

pack://application:,,,/MyAssembly;component/bug.png

다른 팁

→ 이미지 파일을 마우스 오른쪽 버튼으로 클릭 → 속성을 클릭하십시오 → 리소스에 대한 조치 빌드 → 솔루션 청소 및 빌드 → 솔루션 실행

당신은 모든 것을 얻을 것입니다.

나는 같은 문제가 있었다. 솔루션을 청소하고 재건하는 것은 해결책을 수정하지 않았으므로 Visual Studio를 다시 시작했습니다. 다음은 Visual 2010 이이 문제와 Visual 2008에서 WPF를 급락하는 많은 다른 문제를 해결하기를 희망합니다.

"/"로 이미지의 경로를 시작해보십시오.

<Image Source="/bug.png"/>

귀하의 질문에 대한 해결책이 있습니다

<Image Source="/WpfApplication4;component/images/sky.jpg" />

"구성 요소"는 폴더가 아닙니다!

그렇지 않거나 최소한 현재 베타는 그렇지 않습니다. 정확히 같은 문제를 조사 하면서이 페이지를 찾았습니다. 재건/청소는 아무것도하지 않았습니다. 솔루션을 종료하고 다시로드 한 후 파일은 마술처럼 다시 호환되었습니다.

비동기 부하의 예, 다른 옵션. 예제 Clip.mp4는 웹 프로젝트 루트에 있습니다.

void Landing_Loaded(object sender, RoutedEventArgs e)
{
    //Load video async

    Uri pageUri = HtmlPage.Document.DocumentUri;
    Uri videoUri = new UriBuilder(pageUri.Scheme, pageUri.Host, pageUri.Port, "clip.mp4").Uri;           

    WebClient webClient = new WebClient();
    webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
    webClient.OpenReadAsync(videoUri);
}

void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    byte[] VideoBuffer = new byte[e.Result.Length];
    e.Result.Read(VideoBuffer, 0, (int)e.Result.Length);
    MemoryStream videoStream = new MemoryStream(VideoBuffer);
    ContentVideo.SetSource(videoStream);
    ContentVideo.Stop();
    ContentVideo.Play();
}

나는 똑같은 문제에 직면했지만 vs2008을 다시 시작하거나 프로젝트를 청소하고 재건하는 것은 나에게 효과가 없었습니다. 결국 아래 단계는 트릭을 수행했습니다.

  • Windows 탐색기에서 이미지를 프로젝트 리소스 폴더로 복사하십시오. 예 : MyProject Resources
  • Visual Studio 내에서 리소스를 마우스 오른쪽 버튼으로 클릭하고 "추가> 기존 항목"을 선택하고 방금 복사 한 이미지를 선택하십시오.
  • XAML 양식 내에서 이미지 소스를 다음과 같이 설정합니다. "Source="Resources/MyImage.ico" (내 이미지는 아이콘 (.ICO) 파일로 저장되었지만이 접근법은 모든 이미지 유형에 대해 작동해야합니다.

이것이 누군가를 돕기를 바랍니다

나는 비슷한 문제가 있었다. 내가 삭제 한 후 a someStyle.xaml 솔루션 탐색기에서 실제로 사용하지 않은 파일. 그런 다음 파일을 복원했지만 변경되지 않았습니다. 프로젝트 청소 및 재건은 도움이되지 않았습니다.

해당 행을 간단히 삭제합니다.

<ResourceDictionary Source="someStyle.xaml"/> 

트릭을했다.

같은 오류 메시지가 있었지만 내 문제는 간단한 멍청한 실수였습니다.

.ICO 파일을 "내 프로젝트 / 리소스"에 추가했을 때 VS는 리소스라는 서브 폴더를 만들었고 사용하려고했습니다.

<Window Icon="icons1.ico">

내가 사용했을 때;

<Window Icon="Resources/icons1.ico">

... 판단하지 마십시오. 1 주일 전에 WPF를 사용하기 시작했습니다 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top