WPF forms
과 함께 .exe
을 새로 만듭니다. 문제는 일부 어셈블리를 참조해야한다는 것입니다.CodeDom ReferencedAssemblies 절대 경로
이 내가 추가하는 방법입니다 : 이것은 잘 작동,하지만 당신은 그들이 있기 때문에 오류가 발생합니다, 다른 내가 Windowsbase.dll
, PresentationCore.dll
및 PresentationFrameWork.dll
에 대한 절대 경로를 입력 할 필요가 있음을 알 수
var p = new CompilerParameters
{
GenerateExecutable = true,
TreatWarningsAsErrors = false,
CompilerOptions = "/t:winexe",
IncludeDebugInformation = false,
OutputAssembly = dlg.FileName,
};
string[] assemblies = {
"System", "System.Core", "System.Data", "mscorlib",
"System.Drawing", "System.Windows.Forms", "Microsoft.CSharp",
@"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\WindowsBase",
@"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationCore",
@"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationFrameWork"
};
foreach (string a in assemblies)
{
p.ReferencedAssemblies.Add(a + ".dll");
}
찾을 수 없습니다. 이것은 모든 컴퓨터에서 작동하지 않을 수 있습니다.
어떻게해야합니까?
(프로젝트 폴더에 3 .dll
을 포함 시켜서 응용 프로그램과 함께 제공하고 상대 경로를 참조 할 수 있다고 생각합니다. (작동한다면 지금 테스트 할 수 없습니다.)하지만 다른 방법이 있습니다. ?)
이 어셈블리가 GAC에 등록되어 있습니까? 그것이 다른 방법으로는 발견되지 않는 이유 일 수 있습니다. –
GAC는 무엇을 의미합니까? VS 또는 .NET Framework에서 아무 것도 변경하지 않았습니다. – Mek