Microsoft.Web.Publishing.Tasks.dll에서 TransformXml 작업을로드 할 수 없습니다.
누구든지이 오류를 보았고 해결 방법을 알고 있습니까?
"TransformXml"작업은 어셈블리 C : \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web \ Microsoft.Web.Publishing.Tasks.dll에서로드 할 수 없습니다.
파일 또는 어셈블리 'file : /// C : \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web \ Microsoft.Web.Publishing.Tasks.dll'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다.
선언이 올바른지, 어셈블리 및 모든 해당 종속성을 사용할 수 있는지, 작업에 Microsoft.Build.Framework.ITask를 구현하는 공용 클래스가 포함되어 있는지 확인합니다.
SQL Server가 설치되어 있지 않을 때 문제가 있다고 다른 곳에서 읽었습니다. 하지만 SQL Express 2012 x64가 SP1과 함께 설치되어 있습니다. VS 2013 Professional도 실행 중입니다.
나는 문제없이 VS 2012 Express 에서이 똑같은 솔루션을 실행했습니다.
Dai Bok 및 emalamisura가 제공 한 답변은 Visual Studio 2012를 사용하는 한 잘 작동합니다. VS 2013의 경우에도 실패합니다. 모든 버전의 Visual Studio에서이 작업을 수행하려면 다음을 수행해야합니다.
- 로드에 실패한 프로젝트의 프로젝트 파일 (.csproj) 열기
- 검색
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />
- 다음으로 변경
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.targets" />
- 프로젝트 다시로드
그러면 올바른 버전의 Visual Studio가 동적으로 적절하게 설정됩니다.
내 작업을 수행하기 위해 방금 v10.0
폴더를 복사 하고 이름을으로 변경했는데 v11.0
그때부터는 잘 작동하는 것 같습니다. 지금은 이것이 빠른 수정입니다.
이것이 최선의 해결책은 아니고 작동하지만 Windows 7 용 Microsoft Windows SDK 및 .NET Framework 4 Windows 7 및 .NET Framework 4 용 Windows SDK를 설치하려고 했지만 시간이 오래 걸립니다. 다운로드.
문제를 해결하려면
- 컴퓨터에서 Visual Studio 설치 프로그램 찾기
- 클릭하거나 탭하여 설치 프로그램을 시작한 다음 수정을 선택합니다.
- 개별 구성 요소 화면에서 Asp.net 및 웹 개발 도구를 선택한 다음 수정 / 설치를 선택합니다.
이것은 언급 된 경로에 dll을 생성하므로 문제가 해결되었습니다.
저는 며칠 동안 빌드 서버에서이 문제와 싸우고 있었기 때문에 제가 찾은 해결책을 문서화 할 것이라고 생각했습니다. 첫째, 내 빌드 서버 에는 웹 게시 확장이 설치되어 있습니다. TransformXml 작업을 웹 응용 프로그램 프로젝트 내에서 마음껏 사용할 수 있습니다.
웹 응용 프로그램 프로젝트 외부 에서 사용하기 위해 UsingTask 요소를 내 프로젝트에 추가하고 ms 빌드 속성을 사용하여 올바른 위치를 지정하려고했습니다 (Benjamin이 설명했듯이). 그러나 그들은 내 빌드 서버에 없었습니다 (빌드 서버의 파일 시스템에 쉽게 액세스 할 수있는 사람들은 아마도 이것을 건너 뛰고 Visual Studio에 관련 패키지를 설치할 수 있습니다). 저는 비주얼 스튜디오 버전을 하드 코딩하기까지했지만 항상 그 오류가 발생했습니다.
마침내 포기하고 로컬 PC에서 DLL을 가져 왔습니다.
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.XmlTransform.dll
소스 제어에 업로드하고 해당 폴더를 내 빌드의 작업 공간에 추가했습니다 (빌드 정의 편집-> 소스 설정-> 소스 제어 폴더). 거기에서 폴더를 참조 할 필요조차 없습니다. 다음은 UsingTask의 모습입니다.
<UsingTask TaskName="TransformXml" AssemblyFile="Microsoft.Web.Publishing.Tasks.dll" />
이제 TransformXml 작업을 모든 프로젝트의 내 마음대로 사용할 수 있습니다.
VisualStudio 폴더에는 v12.0, v14.0 및 v15.0 만 있기 때문에 프로젝트 파일을 편집하고 참조 경로를 v10.0에서 v14.0으로 변경합니다. 그런 다음 프로젝트가 성공적으로 빌드됩니다.
전에:
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
후:
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
VS2019의 경우
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(MSBuildToolsVersion
나는 대체 MSBuildToolsVersion
와 함께 VisualStudioVersion
.
이에 대한 정답은 해당 프로젝트를 언로드 한 다음 csproj 파일을 편집하고 10.0 경로를 참조하는 항목을 찾은 다음 대신 11.0을 가리 키도록 변경하는 것입니다.
You need two things to make it work:
1) Install Visual Studio Build Tools (You don't need the whole Visual Studio, only the VS Build Tools) with selected "Web development build tools" option on your build server https://www.visualstudio.com/pl/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15
2) Ensure that path to Microsoft.Web.Publishing.Tasks.dll is correct
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(MSBuildToolsVersion)\Web\Microsoft.Web.Publishing.Tasks.dll" />
'programing tip' 카테고리의 다른 글
오류 : 디스플레이를 열 수 없음 : (null) Xclip을 사용하여 SSH 공개 키를 복사 할 때 (0) | 2020.09.07 |
---|---|
제거가 발생하기 전에 jQuery slideUp (). remove ()가 slideUp 애니메이션을 표시하지 않는 것 같습니다. (0) | 2020.09.07 |
스크롤 방향 감지 (0) | 2020.09.07 |
CompletableFuture | (0) | 2020.09.07 |
쉘 스크립트에서 웹 브라우저를 실행하는 깨끗한 방법? (0) | 2020.09.07 |