Could not load file or assembly 'Project name'

์•ˆ๋…•ํ•˜์„ธ์š”.

๋ฌด์—‡์„ ํ•˜๊ณ ์ž ํ•˜๋Š”์ง€

ํ˜„์žฌ xaml์—๋‹ค๊ฐ€ d:DataContext๋กœ viewmodel์„ ๊ฑธ์–ด์ฃผ๋ ค๊ณ  ํ•˜๋Š”๋ฐ์š”.

ํ˜„์žฌ ์ž‘์„ฑํ•œ ์ฝ”๋“œ ์ค‘ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„

XDG0062 : Could not load file or assembly โ€˜Project name, Version 1.0.0.0, Culture=neutal, PublicKeyToken=nullโ€™. ์ง€์ •๋œ ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ผ๋Š” ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ ‘ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์˜ ์ƒํ™ฉ์—์„œ๋„ ๊ทธ๋ ‡๊ณ  ๋‹ค๋ฅธ namespace๋ฅผ ๊ฐ€์ ธ์™€์„œ ์“ฐ๋ ค๊ณ  ํ•˜๋ฉด ์ € ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋˜๋Š”๋ฐ์š”. ์‹คํ–‰ ์‹œ, ๊ธฐ๋Šฅ์ƒ์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ ๋ถˆ๋Ÿฌ์˜ค๋Š” namespace ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค.

<Window x:Class="LOWAJO.Main"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:viewmodels="clr-namespace:LOWAJO.MVVM.ViewModels" 
        d:DataContext="{d:DesignInstance Type=viewmodels:MainViewModel}"
        x:Name="MainDock"
        mc:Ignorable="d"
        >
<!-- Content -->
</Window>
namespace LOWAJO.MVVM.ViewModels
{
    public class MainViewModel : ViewModelBase
    {
       //...
    }
}

image

ํ”„๋ ˆ์ž„์›Œํฌ๋Š” net6.0์ด๊ณ , IDE๋Š” visual studio 2022๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Œ€ํ•˜๋Š” ๋™์ž‘

์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ํ•ด๊ฒฐํ–ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

๋…ธ๋ ฅ

๊ตฌ๊ธ€๋ง์„ ํ•˜๋‹ˆ๊นŒ, ์ฃผ๋กœ ์œ„์˜ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ์ฃผ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋‚˜ dll์„ ์ฐธ์กฐํ•  ๋•Œ, ์ฐธ์กฐ ๋ฒ„์ „์ด ์ƒ์ดํ•˜๊ฑฐ๋‚˜ ๋นŒ๋“œ ์‹œ, ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ์ปฌ์—๋‹ค๊ฐ€ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์— ๋”ฐ๋ผ ์ด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ ‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ์š”.

์œ„์˜ ํ•ด๊ฒฐ์ฑ…์ด ์ €์™€ ๋งž์ง€ ์•Š์•˜๋˜ ์ด์œ ๋Š” ์ €๋Š” nuget์—์„œ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜, ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ ์ €์˜ ๊ฒฝ์šฐ์™€ ๋งž์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ์ „์ฒด ์ฝ”๋“œ๋Š” ์•„๋ž˜ ๋งํฌ์— ์žˆ์Šต๋‹ˆ๋‹ค.
ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ

4๊ฐœ์˜ ์ข‹์•„์š”

ํ”„๋กœ์ ํŠธ๋ฅผ ํด๋ก  ํ•ด ์ปดํŒŒ์ผ์„ ํ•ด๋ดค๋Š”๋ฐ, ๊ด€๋ จ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. XAML ๋””์ž์ด๋„ˆ์—์„œ๋„ ์—๋Ÿฌ๋‚˜ ๊ฒฝ๊ณ  ํ‘œ์‹œ๊ฐ€ ์—†๊ณ ์š”. ๋ฐ”์ธ๋”ฉ๋œ ์†์„ฑ์˜ ์ฝ”๋“œ๋กœ๋„ ์ž˜ ์ด๋™๋„ ๋ฉ๋‹ˆ๋‹ค.

ํ˜น์‹œ ํ•ด๋‹น ์˜ค๋ฅ˜๋ฅผ ์–ด๋””์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

4๊ฐœ์˜ ์ข‹์•„์š”

d:๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์€ mc:Ignoable ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ๋ฌผ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ์‹คํ–‰์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฑฐ์—์š”.

xaml ์ƒ์—์„œ ๋‚˜ํƒ€๋‚˜๋Š” ์˜ค๋ฅ˜์—์„œ โ€œ์˜ค๋ฅ˜๊ฐ€ ๋‚  ์ด์œ ๊ฐ€ ์—†๋Š”๋ฐ ์™œ ๋œจ์ง€?โ€ ์‹ถ์€ ๊ฒƒ๋“ค ์ค‘ ๋‹ค์ˆ˜๊ฐ€ ์ผ์‹œ์ ์ธ ๋ฒ„๊ทธ์„ฑ ์˜ค๋ฅ˜์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.
์ด๋•Œ๋Š” ๊ทธ xaml์ด ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ VS๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๋ฉด ํ•ด๊ฒฐ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

3๊ฐœ์˜ ์ข‹์•„์š”

@dimohy ์ €๋Š” ๋™์ผํ•œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋„ค์š”.

image

d:DataContext ์—๋Ÿฌ ๋‚ด์šฉ

XDG0062 : Could not load file or assembly โ€˜Project name, Version 1.0.0.0, Culture=neutal, PublicKeyToken=nullโ€™. ์ง€์ •๋œ ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@helpandplay ํ”„๋กœ์ ํŠธ ๋ณด๋ฉด LOWAJO ๋˜๋Š” Lowajo ๋Œ€์†Œ๋ฌธ์ž๊ฐ€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ์žˆ์–ด์„œ ์ด ๋ฌธ์ œ์ธ๊ฐ€ ์‹ถ์–ด์„œ ์ด๊ฒƒ ์ €๊ฒƒ ํ•ด๋ดค๋Š”๋ฐ ์ž˜ ์•ˆ๊ณ ์ณ์ง€๋„ค์š”. :pensive:

ํ”„๋กœ์ ํŠธ ๋‹ค์‹œ ๋งŒ๋“œ์…”์„œ ํ•ด๋ณด์‹œ๋ฉด ์ž˜ ๋  ๊ฒƒ ๊ฐ™์•„์š”!

3๊ฐœ์˜ ์ข‹์•„์š”

์ฝ”๋“œ๋ฅผ ๋‚ด๋ ค๋ฐ›์•„ ์ž์„ธํžˆ ์‚ดํŽด๋ดค๋Š”๋ฐ Platform์ด x86, x64๋Š” ์•ˆ๋œจ์ง€๋งŒ ARM64๋กœ ์„ค์ •ํ•  ๋•Œ ๋‚˜ํƒ€๋‚˜๋„ค์š”.
AnyCPU๊ฐ€ ARM64๋กœ ๋ฐ”์ธ๋”ฉ๋˜์–ด ์žˆ์–ด์„œ AnyCPU๋„ ๋˜‘๊ฐ™์ด ์ € ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚ ๊ฑฐ์—์š”.

์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” ์ฒ˜์Œ์ด๋ผ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋„ค์š”โ€ฆ :thinking:

5๊ฐœ์˜ ์ข‹์•„์š”

ํ”„๋กœ์ ํŠธ๋ฅผ ์žฌ ์ƒ์„ฑํ•ด์„œ ํ•œ ๋ฒˆ ๋‹ค์‹œ ๋งŒ๋“ค์–ด ๋ณด๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ ‘๊ทผํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ๋‚ด์„œ ๋‹ต๋ณ€ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

2๊ฐœ์˜ ์ข‹์•„์š”

์ด๋Ÿฌ๋ฉด ๋” ํ˜ผ๋ž€์Šค๋Ÿฝ๋„ค์š”. ์ œ๊ฐ€ ๋ณธ๋ฌธ์— ์–ธ๊ธ‰ํ•œ ์˜ค๋ฅ˜๋ฅผ ์ ‘ํ•  ๋•Œ๋Š” x64๋กœ ๋นŒ๋“œ๋ฅผ ํ–ˆ์„ ๋•Œ, ์˜ค๋ฅ˜๋ฅผ ์ ‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๋‹ค์‹œ ํ”„๋กœ์ ํŠธ๋ฅผ ์žฌ์ƒ์„ฑํ•ด์„œ ๋นŒ๋“œํ•ด๋ณด๊ณ  ๊ธ€์— ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•ด๋†“๊ฒ ์Šต๋‹ˆ๋‹ค.

3๊ฐœ์˜ ์ข‹์•„์š”

namespace ์ˆ˜์ •ํ•˜๊ธฐ

์šฐ์„  ์›์ธ์„ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.
ํ”„๋กœ์ ํŠธ๋ฅผ ์žฌ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ , namespace์™€ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์ด ์ผ์น˜ํ•˜๋„๋ก ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ๋ฅผ ์ด์šฉํ•ด์„œ ์ˆ˜์ •์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ

namespace๋กœ ์ธํ•œ ๋ฌธ์ œ์˜ ๋ฐœ์ƒ์€ ์•„๋‹Œ๊ฑฐ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ์ •ํ™•ํžˆ๋Š” ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ namespace์˜ ์ด๋ฆ„์ด ๊ตณ์ด ๊ฐ™์ง€ ์•Š์•„๋„ ์œ„ ํ˜„์ƒ๊ณผ๋Š” ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ๊ด€๋ฆฌ์ž ์ˆ˜์ •ํ•˜๊ธฐ

๊ธฐ์กด์—๋Š” x64๋กœ ๋นŒ๋“œ๋ฅผ ํ–ˆ๋Š”๋ฐ, ์œ„์—์„œ ๋‹ค๋ฅธ ๋ถ„๋“ค์ด ์–ธ๊ธ‰ํ•œ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด ๊ด€๋ จ์ด ์žˆ๊ฒ ๋‹ค ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

x86์œผ๋กœ ๋ณ€๊ฒฝ

image

๊ฒฐ๊ณผ

์œ„๊ฐ™์ด ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ณ  ๋นŒ๋“œ์‹œ, ๊ฒฐ๊ณผ๋Š” ๋™์ผํ•˜๊ฒŒ ์˜ค๋ฅ˜๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ๋‹ค์‹œ ๋งŒ๋“ค๊ธฐ

๋™์ผํ•œ ์ฝ”๋“œ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค๊ณ  x64๋กœ ๋นŒ๋“œ๋ฅผ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ

์˜ค๋ฅ˜ ์—†์ด ๋นŒ๋“œ๊ฐ€ ์ž˜ ๋ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ–ˆ์„ ๋•Œ์˜ ์ด๋ฆ„๊ณผ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ด๋ฆ„์„ ๋ฐ”๊ฟจ๋˜ ๊ฒƒ๋“ค์ด ์ถฉ๋Œ์ด ์ผ์–ด๋‚˜๋ฉด์„œ ์ธ์‹์ด ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋กœ ํŒ๋‹จ์ด ๋ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ , ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•  ์ผ์ด ์žˆ์œผ๋ฉด ์‚ญ์ œํ•˜๊ณ  ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰์„ ํ•ด์•ผํ•  ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.

3๊ฐœ์˜ ์ข‹์•„์š”