Развернуть консольное приложение C # + Linq? - PullRequest
4 голосов
/ 31 марта 2011

Как мне скомпилировать и развернуть консольное приложение C # /. NET3.5, использующее linq?

Я написал консольное приложение "ExcelDriver" в Visual Studio 2008 (Новый проект>Visual C #> Windows> Консольное приложение), который использует Excel.Interop и linq-to-sql.[1]

Build menu  > Clean ExcelDriver
Build menu > Build ExcelDriver

Это помещает файлы в папку C: \ dev \ VisualStudio2008 \ ExcelDriver \ ExcelDriver \ bin \ Release \

Directory of C:\dev\VisualStudio2008\ExcelDriver\ExcelDriver\bin\Release

03/30/2011  02:17 PM            12,800 ExcelDriver.exe
03/25/2011  12:14 PM               411 ExcelDriver.exe.config
03/30/2011  02:17 PM            26,112 ExcelDriver.pdb
03/30/2011  01:32 PM         1,093,632 Interop.Excel.dll
03/30/2011  01:32 PM           417,792 Interop.Microsoft.Office.Core.dll
5 File(s)      1,550,747 bytes

C:\dev\VisualStudio2008\ExcelDriver\ExcelDriver\bin\Release>ExcelDriver.exe

, которая отлично работает при запуске.

Но когда я копирую эти 5 файлов на компьютер моего коллеги и запускаю, он выходит из строя и жалуется, что не может найти System.Data.Linq.Это также происходит, если я скопирую всю папку проекта поверх.

Вот сообщение об ошибке на компьютере сотрудника

C:\ExcelDriver>ExcelDriver.exe

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or ass
embly 'System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c
561934e089' or one of its dependencies. The system cannot find the file specifie
d.
File name: 'System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b
77a5c561934e089'
   at ExcelDriver.Program.Main(String[] args)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\M
icrosoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure lo
gging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fus
ion!EnableLog].


C:\ExcelDriver>

Очевидно, что я что-то упускаю при компиляции приложения.Что я должен сделать, чтобы собрать ВСЕ сборки и все такое в одном месте, чтобы я мог развернуть их на других машинах?

[1] Это был очень неприятный опыт для меня.Учитесь на моей боли ... Если кто-нибудь когда-нибудь предложит вам написать приложение на C # для управления Excel RUN AWAY.(Слишком поздно для меня. Спаси себя!)

Ответы [ 4 ]

3 голосов
/ 31 марта 2011

Вам необходимо развернуть .NET Framework 3.5 на целевом компьютере.

http://www.microsoft.com/downloads/en/details.aspx?FamilyId=333325fd-ae52-4e35-b531-508d977d32a6&displaylang=en

0 голосов
/ 31 марта 2011

Раньше у меня была эта проблема - похоже, что на System.Core отсутствует ссылка. 1001 *

Откройте файл .csproj и добавьте строку, подобную следующей:

затем перезапустите экземпляр Visual Studio - это должно работать

paul

0 голосов
/ 31 марта 2011

Убедитесь, что на целевом компьютере установлена ​​правильная версия .Net - вы можете использовать сайт smalllestdotnet.com для проверки

. Для него потребуется та же версия .Net 3.5, которую вы разработали.для

0 голосов
/ 31 марта 2011

Обновление до .NET 3.5 на компьютере вашего коллеги, и вы должны быть установлены.

...