Eto: Suporte para Visual Studio 2017 / Visual Studio para Mac / MonoDevelop 7

Criado em 30 mar. 2017  ·  15Comentários  ·  Fonte: picoe/Eto

Existe um cronograma para adicionar este suporte? Ou alguma indicação de como eu poderia ajudar a alcançá-lo?

Comentários muito úteis

Construído usando VS 2017 15.3 no Windows. Nenhuma mudança feita no código. Apenas algumas correções de referência de nuget, montagem e estrutura de destino para .Net 4.6

Finalmente tudo funcionando como esperado ..

http://www.mediafire.com/file/5b84lz8sz053yut/Eto.Addin.VisualStudio.vsix

Todos 15 comentários

Não há um cronograma definitivo, mas quero fazer isso para a versão 2.4. Normalmente não me preocupo em lançar coisas para produtos não acabados (VS para Mac / MD 7), mas pode ser fácil dar suporte, já que não parece haver muitas quebras de API entre 6 e 7.

Se você gostaria de ajudar, eu realmente posso usá-lo. Toda a fonte está aqui . Eles precisam ser carregados nas versões mais recentes do VS e XS com os plug-ins de autoria de extensão / addin apropriados instalados e testados.

Existem alguns outros itens pendentes em relação aos suplementos que também precisam ser examinados:

  • # 582 - suporte condicionalmente a MonoMac, ou possivelmente remova-o completamente, uma vez que Xamarin.Mac agora é um código aberto.
  • # 701 - suporta condicionalmente Xamarin.Mac, então carrega apenas o material apropriado quando é instalado.
  • # 601 - adicionar modelos para formulário baseado em xaml e diálogo para o XS.
  • # 579 - Corrigido travamento com a janela de visualização do VS, que tem a ver com a configuração do appdomain. Eu tenho um branch local com uma tentativa de consertá-lo, mas ainda não descobri por que ele não mata o appdomain corretamente ao recarregar a visualização.

Felicidades!
Curtis.

Eu fiz funcionar com o Visual Studio para Mac.

Eu criei um novo diretório na seção Addins para o visual studio mac, ele é baseado na versão existente do xamarin studio.

criou a solicitação pull em https://github.com/picoe/Eto/pull/793

Na verdade, não executei a extensão, apenas fiz a compilação, então pode ser necessário mais trabalho

Não consegui fazer o add-in funcionar com o VS2017. Eu realmente não gosto de desenvolvimento de extensão VS e apenas tentei obter as referências para resolver de alguma forma, mas ele falhou com algum arquivo estranho não encontrado HRESULT ao criar um novo projeto Eto.
Algum suporte oficial sobre isso?

Ei, eu criei um arquivo .mpack que você pode usar se quiser.

https://github.com/anthonyirwin82/Eto/blob/develop/Visual-Studio-Mac-Extension-For-Eto.Forms-in%20mpack%20format/Eto.Addin.VisualStudioMac_2.3.0.6.mpack

No Visual Studio para Mac, clique no menu do Visual Studio e em Extensões, em seguida, clique no botão Instalar do arquivo e selecione o arquivo .mpack para instalar a extensão.

Isso só funciona no VS no Mac, não na versão do Windows, se é isso que você está tentando fazer.

Obrigado, mas eu o exigia para o aplicativo de desktop clássico Visual Studio 2017 no Windows.
Na verdade, eu poderia construir o .vsix para ele agora (usando assemblies no meu diretório VSSDK em vez de pacotes NuGet, realmente não entendo qual é a diferença, mas eh), mas ele não pode realmente criar projetos, não sendo capaz de encontrar o Pacotes Eto.Forms NuGet de alguma forma (incluindo o 2.3.0 disponível em vez do pacote 2.4.0-alpha ao alterá-lo). Mas pelo menos os modelos e o trabalho do designer, este último bastante lento, mas bom o suficiente.

Por favor, escreva uma pequena atualização, se algo acontecer aqui.
Seria bom :-)

Construído usando VS 2017 15.3 no Windows. Nenhuma mudança feita no código. Apenas algumas correções de referência de nuget, montagem e estrutura de destino para .Net 4.6

Finalmente tudo funcionando como esperado ..

http://www.mediafire.com/file/5b84lz8sz053yut/Eto.Addin.VisualStudio.vsix

Acabei de baixar e instalar a extensão no Visual studio 2017 v 1.5.4.5 e não funciona.

Gerar novo aplicativo Eto gera erro:
~Eto.Forms.2.4.0-alpha: Não foi possível encontrar a versão 2.4.0-alpha do pacote Eto.Forms~

Alguma ideia ?

Você adicionou eto myget aos repositórios nuget?

VS para Mac e MonoDevelop agora são suportados com # 974. Uma nova versão do addin será publicada junto com a versão 2.4, ou você pode criá-lo manualmente.

Estou tentando usar o novo addin com VS para Mac, mas estou um pouco confuso:
Posso construir Eto dll (s) a partir do Visual Studio para Mac Eto \ src \ Eto.sln, e funciona (atualizado o branch de desenvolvimento para o commit ed2073c (1º de fevereiro de 2018, 20:19)
Posso construir o suplemento de Etobuildbuild-addin.sh, um Eto.Addin.XamarinStudio_2.3.0.6.mpack é criado, mas a compilação geral falha.
Apenas o Eto.Forms.Templates.2.4.0-alpha.nupkg é criado no Eto \ artifacts \ nuget \ Release.
No entanto, o suplemento recém-criado é instalado com êxito e posso criar um novo projeto Eto, mas quando eu o construo, o nuget reclama com a mensagem "Falha na restauração de 'Eto.Platform.Mac64 (> = 2.4.0-alpha)'".
Devo esperar tê-lo em Eto \ artifacts \ nuget \ Release?
Se, em vez de usar o nuget, eu adicionar diretamente à minha solução Eto \ src \ Eto.csproj e Eto \ src \ Eto.Mac \ Eto.Mac.csproj (ou Eto \ src \ Eto.Mac \ Eto.Mac64.csproj) e referência onde necessário, posso compilar bem, mas quando executo meu aplicativo, ele trava com a exceção "O tipo de plataforma Eto.MacPlatform, Eto.Mac64 foi carregado, mas não é válido no contexto atual. Por exemplo, as plataformas Mac precisam estar em um pacote .app para correr."
O que estou fazendo errado?
Obrigado

Ei @ msasso69 , para construir os pacotes nuget você precisa usar o ./build.sh (no mac) e build.cmd (no Windows). Normalmente faço isso por meio de um compartilhamento com uma VM do Windows para que ambos sejam executados na mesma cópia dos arquivos de origem. Isso garante que os arquivos XamMac e Wpf nupkg sejam criados, que são obrigatórios para os modelos de suplemento.

Você precisa dos pacotes nuget para executar a plataforma Mac / Mac64, pois ela configura a compilação do pacote .app adequada e informa ao VS no Mac para executar o pacote .app em vez do .exe diretamente. Tudo isso está em build / MacTemplate.

Obrigado Curtis,
executando ./build.sh agora posso construir com sucesso todos os pacotes nuget e o projeto Eto inicial criado pelo addin funciona bem :)
No entanto, ainda não sou capaz de depurar o código Eto, se eu fizer referência aos projetos Eto em vez de usar os pacotes nuget, ainda recebo a exceção: "O tipo de plataforma Eto.MacPlatform, Eto.Mac64 foi carregado, mas não é válido no atual contexto. por exemplo, as plataformas Mac precisam estar em um pacote .app para serem executadas. ".
A única diferença que encontrei no aplicativo de teste Eto (que achei relevante) é:

<UseMacTemplate>True</UseMacTemplate>

mas mesmo adicionando nada muda :(
Acho que não entendi o que você quis dizer quando me disse que tudo está no build / MacTemplate. Como eu uso isso?
Obrigado pela sua paciência;)

@ msasso69 , se você quiser usar Eto.Mac.csproj ou Eto.Mac64.csproj diretamente sem usar seus pacotes nuget, você terá que adicionar <import Project="path/to/MacTemplate.targets" /> ao seu csproj. Isso é o que <UseMacTemplate>True</UseMacTemplate> faz para os projetos de teste de Eto por meio do arquivo Directory.Build.targets . Ao usar os pacotes nuget, este arquivo é automaticamente importado para o seu projeto.

Outras opções incluem:
1) Use os pacotes nuget MyGet
2) Construir os pacotes nuget e usá-los
3) Crie um projeto "XamMac Classic" (difícil, pois não está disponível no VS para Mac, daí a nova maneira como isso é feito)
4) Use o projeto XamMac2

Espero que isto ajude!
Curtis.

Corrigido com # 986

Esta página foi útil?
0 / 5 - 0 avaliações