TFS 에서 소스 다운시 참조 오류 ,DLL 참조오류 for (MVC 5)

1.Windows 탐색기에서 프로젝트 packages 폴더삭제.

2.Visual Studio를 열고 도구 > 라이브러리 패키지 관리자 > 패키지 관리자 설정 으로 이동하고 왼쪽의 패키지 관리자 항목 아래에 "패키지 캐시 지우기"버튼이 있습니다. 이 버튼을 클릭하고 "NuGet에서 빌드 중 누락 된 패키지 다운로드 허용"확인란을 선택했는지 확인

 

 

3.솔루션 정리

4.솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 복원을 활성화하십시오.

 

5.Visual Studio를 다시 시작.

@@IDENTITY 마지막으로 삽입된 ID 값 가져오기

https://docs.microsoft.com/ko-kr/sql/t-sql/functions/identity-transact-sql?view=sql-server-2017

 

@@IDENTITY(Transact-SQL) - SQL Server

@@IDENTITY (Transact-SQL)@@IDENTITY (Transact-SQL) 이 문서의 내용 --> 적용 대상: SQL Server Azure SQL Database Azure SQL Data Warehouse 병렬 데이터 웨어하우스 APPLIES TO: SQL Server Azure SQL Database Azure SQL Data Warehouse Parallel Data Warehouse 마지막으로 삽입된 ID 값을 반환하는 시스템 함

docs.microsoft.com

같은 키값으로 동시에 두개 넣기

--자동증감 키
INSERT INTO TB_TEST1(VAL) VALUES('INSERT'); -- KEY IDX

SET @idx = @@IDENTITY


SET IDENTITY_INSERT TB_TEST2 ON;
 
INSERT INTO TB_TEST2(IDX, VAL)
	 VALUES (@idx, 'INSERT');
 
SET IDENTITY_INSERT TB_TEST2 OFF;

https://docs.microsoft.com/ko-kr/nuget/tools/package-manager-ui

c#에서 Json 파싱하기

NuGet 패키지 를 통해서 설치하기

 

설치 하 고 Visual Studio에서 NuGet 패키지 관리

Visual Studio에서 NuGet 패키지 관리자 UI를 사용 하 여 NuGet 패키지 사용에 대 한 지침입니다.

docs.microsoft.com

비주얼 스튜디오에서  Nuget 패키지 관리자 실행

Json.NET

Serialize JSON

Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };

string json = JsonConvert.SerializeObject(product);
// {
//   "Name": "Apple",
//   "Expiry": "2008-12-28T00:00:00",
//   "Sizes": [
//     "Small"
//   ]
// }

Deserialize JSON

string json = @"{
  'Name': 'Bad Boys',
  'ReleaseDate': '1995-4-7T00:00:00',
  'Genres': [
    'Action',
    'Comedy'
  ]
}";

Movie m = JsonConvert.DeserializeObject<Movie>(json);

string name = m.Name;
// Bad Boys

LINQ to JSON

JArray array = new JArray();
array.Add("Manual text");
array.Add(new DateTime(2000, 5, 23));

JObject o = new JObject();
o["MyArray"] = array;

string json = o.ToString();
// {
//   "MyArray": [
//     "Manual text",
//     "2000-05-23T00:00:00"
//   ]
// }

파싱예제

아래와 같은 JSON 형태

"class": "go.GraphLinksModel",
  "linkKeyProperty": "stepId",
  "modelData": {"position":"-5 -5"},
  "nodeDataArray": [ 
{"key":11, "category":"start", "text":"Start", "loc":"288 109"},
{"key":101, "category":"message", "text":"Message", "items":[ {"name":"Name", "value":"Message"},{"name":"Type", "value":"Step"},{"name":"Category", "value":"대분류"},{"name":"Size", "value":"120"},{"name":"Max Length", "value":"20"} ], "loc":"292 181"}
 ],
  "linkDataArray": [ {"from":11, "to":101, "stepId":-1, "items":[ {"name":"link", "value":"value1"},{"name":"propery1", "value":"value1"} ], "points":[288,129.5,288,139.5,288,147.1257080078125,292,147.1257080078125,292,154.751416015625,292,164.751416015625]} 

        private void Form1_Load(object sender, EventArgs e)
        {
            string s = this.textBox1.Text;
            //var m = JsonConvert.DeserializeObject<Dictionary<string, object>>(s);
            //if (m.TryGetValue("nodeDataArray", out result))
            //{
            //    var ss = result;
            //}
            //object result = "";

            JObject jo = JObject.Parse(s);
            var a = jo.SelectToken("nodeDataArray");
            var cnt = a.Count();
            foreach (var item in a)
            {
                var key = item.SelectToken("key").ToString();
                var category = item.SelectToken("category").ToString();
                var text = item.SelectToken("text").ToString();
                var items = item.SelectToken("items");

                if(items != null)
                {
                    foreach (var token in items)
                    {
                        var name = String.Format("{0}", token.SelectToken("name"));
                        var value = String.Format("{0}", token.SelectToken("value"));
                    }
                }
            }

        }

 

프로시저에서 두개의 값을 저장하기 위해 

같은 키값을 넣기 위해 저장할수 있다.

	INSERT INTO TB_A (ProjectName) VALUES (@pProjectName)
	SET @oId = @@IDENTITY
    
	--key(Id)를 값 저장하기 위해 IDENTITY_INSERT ON
	SET IDENTITY_INSERT TB_B ON
	INSERT INTO TB_B (Id ,ProjectName) VALUES (@oId ,@pProjectName)
	SET IDENTITY_INSERT TB_B OFF 

 

Global.asax
순서를 변경해서 맨밑에다가 두니 인식 못했음 ㅡㅡ
protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

           //GlobalConfiguration.Configure(WebApiConfig.Register);  여기다 두니 인식 못함
        }

WebApiConfig.cs 추가

ValuesController.cs 컨트롤러 추가

public class ValuesController : ApiController 
    { 
        // GET api/ 
        public IEnumerable Get() 
        { 
            return new string[] { "value1", "value2" }; 
        } 

        // GET api//5 
        public string Get(int id) 
        { 
            return "value"; 
        } 

        // POST api/ 
        public void Post([FromBody]string value) 
        { 
        } 

        // PUT api//5 
        public void Put(int id, [FromBody]string value) 
        { 
        } 

        // DELETE api//5 
        public void Delete(int id) 
        { 
        } 
    }

 

호출하기

    <script type="text/javascript">
        $(document).ready(function () {
            // AJAX 요청을 전송한다.
            $.getJSON("/api/values",
                function (data) {
                    // 요청이 성공하면, 'data' 변수에 제품들의 목록이 담긴다.
                    $.each(data, function (key, val) {

                        // 텍스트 출력을 위해 형식을 바꾼다.
                        var str = val.Name + ': $' + val.Price;

                        // 각 제품에 대한 목록 항목을 추가한다.
                        //$('<li/>', { text: str })
                        //    .appendTo($('#products'));
                    });
                });
        });
    </script>

 

SELECT LEVEL
    , ROOT_ORG
    , ORG
    , LPAD (' ', 2 * (LEVEL-1) ) || ORG_NAME AS P_LINE
    , ORG_NAME
    , REG_DTM
    , SYS_CONNECT_BY_PATH (ORG_NAME, '/') 경로
FROM USER_ORG 
START WITH
    ROOT_ORG IS NULL
CONNECT BY
    PRIOR ORG = ROOT_ORG;

 

1 00000 main main 19/05/08 14:28:37 /main
2 00000 00001   부서1 부서1 19/05/08 14:28:01 /main/부서1
2 00000 00002   부서2 부서2 19/05/08 14:28:37 /main/부서2
3 00002 00003     부서3 부서3 19/05/08 14:29:25 /main/부서2/부서3
3 00002 00004     부서4 부서4 19/05/08 14:29:44 /main/부서2/부서4

 

오픈소스를 이용해서 RTF 문서를 HTML로 변경합니다.

 

소스경로

http://www.codeproject.com/Articles/27431/Writing-Your-Own-RTF-Converter

 

변경가능한 항목

image

 

소스 내 구성된 프로젝트

image 

 

샘플실행

image

 

여기서 좋은점은 RTF 파일에 붙여넣기 또는 삽입한 이미지를 추출 할 수 있다.

image

 

 private void ToHtmlButtonClick(object sender, EventArgs e)
        {
            try
            {
                IRtfDocument rtfDocument = RtfInterpreterTool.BuildDoc(ConversionText);
                RtfHtmlConverter htmlConverter = new RtfHtmlConverter(rtfDocument);
                textBox.Text = htmlConverter.Convert();
                var q = htmlConverter.DocumentImages;

                // logger
                RtfInterpreterListenerFileLogger logger =
                   new RtfInterpreterListenerFileLogger(@"c:\temp\RtfInterpreter.log");

                // image converter
                // convert all images to JPG
                RtfVisualImageAdapter imageAdapter = new RtfVisualImageAdapter(ImageFormat.Jpeg);
                RtfImageConvertSettings imageConvertSettings =
                        new RtfImageConvertSettings(imageAdapter);
                imageConvertSettings.ImagesPath = @"c:\temp\images\";
                imageConvertSettings.ScaleImage = true; // scale images
                RtfImageConverter imageConverter = new RtfImageConverter(imageConvertSettings);

                // interpreter
                RtfInterpreterTool.Interpret(ConversionText, logger, imageConverter);
                //RtfInterpreterTool.Interpret(rtfStream, logger, imageConverter);
            }
            catch (Exception exception)
            {
                MessageBox.Show(this, "Error " + exception.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        } // ToHtmlButtonClick

 

끝.

 RicherTextBox  편집양식 그대로 저장하기 위한 예제 입니다. 이미지도 같이 저장되게요...

RicherTextBox  의 RTF 구조를 데이터 베이스에 byte 형태로 저장해서 불러온다.

일단 http://www.codeproject.com/Articles/24443/RicherTextBox 가서

 

RicherTextBox   편집기 하나를 받았다.

 

여기에 RTF 저장 및 불러 오기만 구현했음

 

RicherTextBox_demo_jaedoo.zip


*데이터베이스 저장은 MDF (MS -SQL) 와 엔티티6으로 저장하였습니다.

목록조회

 private void button2_Click(object sender, EventArgs e)

{
    Database1Entities entities = new Database1Entities();
    list = entities.TestTable.ToList();
    this.dataGridView1.DataSource = list;
}



등록화면

붙여넣기도 됨

 

저장하기 소스

private void RicherTextBox1_dbSaveClick_click(object sender, string Rtf)
{
    Database1Entities entities = new Database1Entities();
    TestTable tt = new TestTable();
    RichTextBox rt = sender as RichTextBox;
    tt.Contents = rt.Text;
    ASCIIEncoding encoding = new ASCIIEncoding();
 
    byte[] array = encoding.GetBytes(Rtf);
    tt.ObjectContents = array;
    tt.CreateDate = DateTime.Now;
    entities.TestTable.Add(tt);
    entities.SaveChanges();
 
    MessageBox.Show("등록완료");
    this.DialogResult = DialogResult.OK;
    this.Close();
}

불러오기

더블클릭해서 불러온상태

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
    TestTable tt = list[e.RowIndex] as TestTable;
 
    Form2 mf = new Form2(tt);
    if (mf.ShowDialog() == DialogResult.OK)
    {
        button2.PerformClick();
    }
}
 
private void Form2_Load(object sender, EventArgs e)
{
    richerTextBox1.dbSaveClick_click += RicherTextBox1_dbSaveClick_click;
 
    if (this.tt != null)
    {
     
        byte[] contentBytes = tt.ObjectContents;
        richerTextBox1.SetByteText(contentBytes);
    }
}




게임실행시 전체화면으로 안될때가 있다.


이때 버그인지는 몰라도 권장 해상도 일때는 설정이 나오지 않음

권장해상도 말고 다른것으로 변경하면 설정이 나온다.


권장설정시에 설정이 안나옴

디스플레이 배율 유지만 나온다;



해상도를 권장해상도 말고 다른 해상도로 변경 후 나온 설정 

아래와 같이 전체 화면 배율 을 해야 전체화면으로 스타크래프트1을 할수 있다 ㅡㅡ;






참고사이트 


인텔 드라이버 업데이트 유틸리티


http://www.intel.com/p/ko_KR/support/detect



요세미티에서 사용할수 있는 와이파이가 없을 때 

요세미티 맥북 주위에 아이폰,아이패드등등 핫스팟이 지원되는 장비만 있으면

핫스팟기능을 켤 필요없이 요세미티에서 바로 켜고 끌수 있다


근데 이게 안될때가 있다. 이때는 


요세미티 아이클라우드 로그아웃

아이폰 아이클라우드 로그아웃

아이폰 네트워크 초기화를 시행한다.




아래처럼 핫스팟이 보이기는하지만 연결이 안되는경우가 있다.



아이폰 아이클라우드 로그아웃

아이폰 네트워크 초기화를 시행한다.





+ Recent posts