웹, 데스크톱 및 모바일에 모두 사용하려는 재사용 가능한 기본 클래스 라이브러리를 설치했습니다. 기본 기능을 보유하고 있습니다 (예 : 문자열, datetime 조작 등. 왜냐하면 내가 두 번 코드를 작성 싫어. 잘 갔다netstandard1.x 및 winforms/wpf/windows - 파일 또는 어셈블리를로드 할 수 없습니다. System.Runtime, 버전 = 4.1.0.0
VS2015은 새로운 ".NET 표준"플랫폼을 사용하는 것이 가장 하더군요, 그래서 그렇게했고, 그것은 나에게 xUnit의과 단위 테스트 실행이 project.json
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.5": {}
}
}
했다. 내가 net462를 대상으로하는 WinForms 응용 프로그램에서 (참고로) 사용하기로 결정할 때까지는 (예, 일부 사람들은 여전히 WinForms를 원하는 클라이언트를 보유하고 있습니다.) 경고 또는 오류없이 응용 프로그램이 정상적으로 컴파일되었습니다. 나는 다른 옵션을 시도
An exception of type 'System.IO.FileNotFoundException' occurred in DelegateIT.Core.Examples.Wizard.WinFormsClient.exe but was not handled in user code
Additional information: Could not load file or assembly 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
, 성공없이 :
- "빈"빌드 대상 추가하려고 프레임 워크 섹션
- 에
"net462": {}
추가 내가 응용 프로그램을 실행할 때이 오류가있어 프레임 워크 섹션에는"net462": { "bin": { "assembly": "external\\TheLibraryName.dll", "pdb": "external\\TheLibraryName.pdb" } }
이 있지만 플랫폼 용 사용자 지정 DLL은 출력되지 않았습니다.
".Net 4.6.2"클래스 라이브러리를 새로 만들어서 파일을 링크로 가져와야합니까? .
:이 새로운 시스템은 :(멀리 대상 프레임 워크 당 프로젝트 파일의 시간의 낭비를 취할 것이라고 생각하지만EDIT/칙 나는 WPF & 윈폼 클라이언트에서이 코드를했다
foreach (var line in csvLines) {
var splittedLine = line.Split(';');
splittedLines.Add(splittedLine.Select(s => CleanString(s)).ToList());
}
나는 다음이
foreach (var line in csvLines) {
var splittedLine = line.Split(';');
splittedLines.Add(splittedLine.Select(s => /*CleanString(*/s/*)*/).ToList());
}
처럼 CleanString
방법을 떠날 때 오류가 사라졌으며 Wpf 클라이언트와 WinForms 클라이언트가 제대로 작동했습니다. System.Linq
또는 적어도 System.Linq.Expressions
인 것 같습니다. 그러나 깊이 파고 CleanString
메서드를 편집하고 내 확장 메서드 "RemoveMultipleWhiteSpaces
"을 제거했습니다.
참조 된 바와 같이, 이것은 CleanString 방법 및 기준 확장 메쏘드 따라서
private string CleanString(string @string) {
return @string
.Trim()
.RemoveMultipleWhitespaces();
}
public static string RemoveMultipleWhitespaces(this string @string) {
if (@string == null) {
return @string;
}
var cleanedString = Regex.Replace(@string, @"(\s)\s+", "$1");
return cleanedString.Trim();
}
난 후 컴파일, CleanString에서 다음 코드를 사용하고 작동 할 때 종결한다. 그래서 잘 모르겠다. System.Linq 또는 sth가 지원되지 않는다.?
private string CleanString(string @string) {
return @string
.Trim()
/*.RemoveMultipleWhitespaces()*/;
}
편집/ADDENDEUM2 :
가 project.json이 시도했지만 작동하지 않았다. 또한 추가 "System.Runtime": "4.1.0"종속성, 행운이 아닙니다.
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0",
"Newtonsoft.Json": "9.0.1",
"System.Linq": "4.1.0",
"System.Linq.Expressions": "4.1.0",
"System.Text.RegularExpressions": "4.1.0"
},
"frameworks": {
"net462": {},
"netstandard1.5": {}
}
}